Python第二篇詳細瞭解列表,字串,檔案操作
1.列表操作升級
a.列表合併
names1=["a","b","c"] names2=["1","2","3"] names1.extend(names2) print(names1) #['a', 'b', 'c', '1', '2', '3']
b.列表巢狀
這其實就是java中的二維陣列了
names1=["a","b","c"] names2=["1","2","3"] names2.append(["A","B"]) names1.extend(names2) print(names1) #['a', 'b', 'c', '1', '2', '3', ['A', 'B']]
如果想取到A可以names2[3][0]這都和java一樣的
c.清空clear()
names1.clear() #結果就是[]
d.刪除pop()並返回刪除的元素
names1=["a","b","c"] names2=["1","2","3"] names2.append(["A","B"]) names1.extend(names2) print(names1.pop()) #['A', 'B']
pop()預設刪除最後一個元素,當然用names1.pop(index)可以刪除指定位置元素,這裡與del names1[index]有區別在於del不會返回任何內容
e.刪除remove(value)刪除
刪除列表中的第一個value,如果不存在會報錯
f.查index和count
names1.index("A")返回A出現的第一個索引位置,不存在會報錯,一般先if "A" in names1 :names1.index("A")
names1=["a","b","c"] if "a" in names1 : print(names1.index("a")) #結果0
names1.count("A")返回A在列表中出現的次數
g.切片[start:end]前包後不包
names1=["a","b","c","d","e","f"] print(names1[2:5]) #['c', 'd', 'e'],從index2取到index4
這個切片有很多注意事項,因為不包含最後一個index所以想取出最後一個值用names1[1:]end不寫表示從start取到最後,同理,左邊的start也是可以不寫的,如果是names[:]表示取所有
start和end都可以用負數,表示倒數第一個到倒數第幾個,但是end仍然是不包括在內的
h.步長[start:end:step]
names1=["a","b","c","d","e","f","g"] print(names1[-1::-1]) #['g', 'f', 'e', 'd', 'c', 'b', 'a'](負一可以省略)
步長控制start到end之間每次跳幾個元素切片,如果start和end是反著取的並且讓step為-1可以實現切片+倒敘,上例子中如果是names1[-2:-5:-1]取出來的就是f,e,d部分倒敘切片
步長的正負表示從start到end是從左往右還是從右往左,如果start到end的方向和正負是相反的,則取出值為空,比如[-1::1]是想從最後一個取到第一個,方向是從左往右,但是step卻是正,則取值為空
說到這裡不得不說python真的很人性化,不僅列表可以用步長實現翻轉,就連字串也可以
names="迪麗熱巴" print(names[::-1]) #巴熱麗迪
值得注意的是切片指的是切出來的新列表是怎樣的,對原列表是沒有影響的
i.列表的翻轉reverse()和排序sort()
這其實沒什麼好說的。。。直接用就完了,sort的時候要求列表中元素都是str型別或者都是數字型別,否則會報錯
j.列表迴圈
for name in names:
print(name)
k.列表長度len(names)
l.元組names=("A","B")
元組和列表用法一樣,不過元組只讀,不可修改,沒有刪除,增加,修改操作的方法。常用在你自己的介面中某些不想讓別人修改的內容,或者說只讀保護的內容,比如word中的只讀模式等