Python基礎(day4)

列表

列表是Python中基礎數據類型之一,其他語言中也有類似列表的數據類型,例如js中叫數組,它是以[]括起來的,每個元素以逗號隔開,而且它裏面可以存放各種數據類型。

列表相對於字符串來說,不僅可以存儲不同的數據類型,而且可以存儲大量數據,而且列表是有序的,有索引值,可切片,方便取值。

 列表的操作:增刪改查

增:append、insert、extend

1.append;增加到最後

li = [1, 2, 'a', 'b', 4, 'd']
li.append('e')
print(li)

結果輸出:

[1, 2, 'a', 'b', 4, 'd', 'e']

2.insert;按照索引去增加

li = [1, 2, 'a', 'b', 4, 'd']
li.insert(2, 3)
print(li)

結果輸出:

[1, 2, 3, 'a', 'b', 4, 'd']

3.extend;迭代的增加

li = [1, 2, 'a', 'b', 4, 'd']
li.extend(['q,a,w', 'aaa'])
li.extend(['abc','def'])
li.extend('你好')
print(li)

結果輸出:

[1, 2, 'a', 'b', 4, 'd', 'q,a,w', 'aaa', 'abc', 'def', '', '']

刪:pop()、del、remove()、clear()

1.pop();按照位置去刪除,有返回值,默認刪除最後一個

 

li = [1, 2, 'a', 'b', 4, 'd']
list1 = li.pop()
list2 = li.pop(1)
print(list1)
print(list2)
print(li)

結果輸出:

d
2
[1, 'a', 'b', 4]

2.del;按照位置去刪除,也可切片刪除,沒有返回值

li = [1, 2, 'a', 'b', 4, 'd']
del li[2:4]
print(li)

結果輸出:

[1, 2, 4, 'd']

3.remove;按照元素去刪除

li = [1, 2, 'a', 'b', 4, 'd']
li.remove('a')
li.remove('b')
print(li)

結果輸出:

[1, 2, 4, 'd']

4.clear();清空列表

li = [1, 2, 'a', 'b', 4, 'd']
li.clear()
print(li)

結果輸出:

[]

改:直接替換索引對應的元素,可使用索引方式進行替換

例1:

li = [1, 2, 'a', 'b', 4, 'd']
li[4] = 'c'
print(li)

結果輸出:

[1, 2, 'a', 'b', 'c', 'd']

例2:

li = [1, 2, 'a', 'b', 4, 'd']
li[2:6] = [3, 4, 5, 6]
print(li)

結果輸出:

[1, 2, 3, 4, 5, 6]

查:切片查,或循環查

循環查舉例:

li = [1, 2, 'a', 'b']
for i in li:
    print(i)

結果輸出:

1
2
a
b

切片查舉例:

li = [1, 2, 'a', 'b']
print(li[1:3])

結果輸出:

[2, 'a']

其他操作:

1.count (數)(方法統計某個元素在列表中出現的次數)

li = [1, 2, 'a', 'b', 'a']
print(li.count('a'))

結果輸出:

2

2.index (方法用於從裏欸報中找出某個值第一個匹配項的索引位置)

li = [1, 2, 'b', 'a', 'a']
print(li.index('a'))

結果輸出:

3

3.sort (方法用於在原位置對列表進行排序);reverse (方法將列表中的元素反向存放)

li = [1, 2, 5, 3, 4]
li.sort()  #沒有返回值,所以只能打印li
print(li)
li.reverse()  #它也沒有返回值,所以只能打印li
print(li)
li.sort(reverse=True)  #反向排序
print(li)

結果輸出:

[1, 2, 3, 4, 5]
[5, 4, 3, 2, 1]
[5, 4, 3, 2, 1]

注意:使用sort()方法,列表中同時含有字符串和數字時不能進行排序,會報錯。

sort()方法對字符串排序時,使用的是ASCII碼字符順序,而不是實際的字典順序。這意味着大寫字母排在小寫字母之前。因此在排序時,小寫的a在大寫的Z之後。例如:

>>> li = ['Alina', 'Bob', 'brach', 'Wuli', 'angel', 'willen']
>>> li.sort()
>>> li
['Alina', 'Bob', 'Wuli', 'angel', 'brach', 'willen']

如果需要按照普通的字典順序來排序,就在sort()方法調用時,將關鍵字參數key設置爲str.lower。

接上例:

>>> li.sort(key = str.lower)
>>> li
['Alina', 'angel', 'Bob', 'brach', 'willen', 'Wuli']

這將導致sort()方法將列表中所有的表項當成小寫,但實際上並不會改變它們在列表中的值。

4.列表的嵌套

li =['zhangsan', '李四', '王五', ['zhaoliu', '李白'], '武力']
print(li[1][1])  #打印出索引爲1的第2個元素
name = li[0].capitalize()  #打印索引爲0的元素使其首字母大寫
print(name)
li[2] = '王八'  #將列表li的索引爲2的元素修改爲'王八'
print(li[2].replace('', ''))  #將打印出列表li索引爲2的元素把五改爲八
li[3][0] = li[3][0].upper()  #將列表li索引爲3的嵌套列表索引爲0的元素全部大寫
print(li)

結果輸出:

四
Zhangsan
王八
['Zhangsan', '李四', '王八', ['ZHAOLIU', '李白'], '武力']

 元組

元組被稱爲只讀列表,即數據可以被查詢,但不能被修改,所以字符串的切片操作同樣適用於元組。

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