python - 03【列表/元組/字符串】

目錄

一、列表

1.1、列表的定義

1.2、遍歷列表

1.3、增刪改查

二、元組

三、string字符串

3.1、定義變量s,存儲類型爲字符串

3.2、字符串的下標

3.3、字符串的切片

3.4、字符串常見的操作

四、字符串格式化


一、列表

1.1、列表的定義

代碼:

classNames = ["xiaoming","xiaohong","xiaodong"]
print[classNames[0]] #獲取元素1
print[classNames[1]] #獲取元素2
print[classNames[2]] #獲取元素3

1.2、遍歷列表

代碼:

classNames = ["xiaoming","xiaohong","xiaodong"]

#for循環遍歷
for name in classNames:
    print(name)

#while循環遍歷
length = len(classNames)
i = 0
while i < length:
    print(classNames[i])
    i+=1

輸出結果:

1.3、增刪改查

classNames = ["xiaoming","xiaohong","xiaodong"]
'''
添加元素
'''
classNames.append("xiaowang") #向後添加元素
names = ["leon","ben","tina"] #定義新列表
classNames.extend(names) #將names列表添加到classNames列表中
classNames.insert(2,"susu") #指定位置前插入元素
'''
修改元素
'''
classNames[2] = "lala" #修改元素
'''
查詢元素
'''
findName = "haha"
if findName in classNames : #使用in和not in 查詢
    print("存在此人")
else :
    print("沒有此人")
result = classNames.index("lala" ,0,5) #index查詢
print(result)
result = classNames.count("xiaodong") #count查詢
print(result)

movieName = ['加勒比海盜','駭客帝國','第一滴血','指環王','霍比特人','速度與激情']
'''
刪除元素
'''
del movieName[2] #通過下標刪除
movieName.pop() #從後往前刪
movieName.remove("指環王") #指定名字刪除

 

1.4、列表嵌套

classNames = [["xm","xh"],
                ["leon","tine"],
                ["A","B","C"]]

二、元組

元組與列表類似,不同之處在於元組的元素不能修改,元組使用小括號,列表使用方括號。

代碼:

tuple = ("hello",100,3.18) #定義元組
print(tuple[1]) #獲取元素

一旦進行修改或刪除就會報異常。

三、string字符串

3.1、定義變量s,存儲類型爲字符串

s = "hello python"
#或者
s = 'hello python'

使用“”或‘’都可以定義字符串

3.2、字符串的下標

字符串的下標即每個字符在整串字符串的位置,例如:字符串‘data’中,字符a位於第3位。爲什麼不是第4位呢?這是因爲下標都是從0開始記起

代碼:

s = 'data'

print(s[0]) #輸出字符d
print(s[1]) #輸出字符a
print(s[2]) #輸出字符t
print(s[3]) #輸出字符a

輸出結果:

當然,如果你想獲取s[4]這個位置上不存在的字符時,python會報給你一個string index out of range異常。

3.3、字符串的切片

切片指對某一段字符進行截取,例如:字符串‘abcdefg’,我要截取c-e的位置,這個就是切片。切片不僅存在於字符串中,列表、元組都支持切片操作。

切片語法:【起始:結束:長度】,截取是通過下標來進行的,值得注意的是結束的下標不包含當前位。

代碼:

​s = "abcdefg"
print(s[0:5]) #截取下標爲0~5的元素

輸出結果:

由此可以看出下標爲5的字符,也就是"f"並沒有被輸出,因爲不包含當前位,數學上似乎叫左閉右開區間。還有其他的一些字符截取的方式。

代碼:

s = "abcdefg"
print(s[1:-1]) #取下標爲1到下標爲倒數第2位的區間
print(s[1:5:2]) #取下標爲1~4的區間,取2位
print(s[:3]) #從下標0開始到下標2的區間
print(s[::2]) #下標按照0,2,4,6,8...的取,似乎是遞增取值

輸出結果:

反轉字符串“abcdefg”

代碼:

s = "abcdefg"
i = -1
rever = ""
while i >= -s.__len__():
    rever += s[i]
    i -= 1
print(rever)

輸出結果:

3.4、字符串常見的操作

  • find、index、upper等很多方法,太多不再此處列舉,等用到的時候再去查詢。具體可以找找python的文檔看看就會使用了。
  • 下面給出部分字符串操作的代碼:
  • movieNames = '加勒比海盜駭客帝國第一滴血指環王霍比特人速度與激情'
    #find查詢字符串是否存在,存在返回第一個字符的下標,不存在返回-1
    movieNames.find("第一滴血")
    movieNames.find("第一滴血",0,5)
    #index的用法和find類似,只不過index查不到會報異常而不是返回-1
    movieNames.index("第一滴血")
    movieNames.index("第一滴血",0,20)
    #count是查詢字符串出現的次數
    movieNames.count("一")
    movieNames.count("一",0,20)
    #replace是替換字符串
    movieNames.replace("一","二")
    movieNames.replace("一","二",1) #如果指定替換次數,則不會超過指定的次數
    ...

     

四、字符串格式化

字符串格式化是爲了簡化程序,例如:

pirnt("我今年10歲")
pirnt("我今年11歲")
pirnt("我今年12歲")
....

使用了字符串格式化後,代碼如下:

age = 10
while age <= 20 :
    print("我今年%d歲" % age)
    age += 1

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章