python基礎語法迴圈巢狀和列表(二)

奮鬥小糖果發表於2020-11-07

1.通用操作

##1.1 + 和*

    ‘+’ 是指列表之間可以進行拼接。

  • 星號
    ‘*’ 可以將列表重複指定次數**(注意兩個列表不能做乘法運算,這裡說的是列表可以和整數做乘法運算,整數位2,說明列表重複兩次,整數位3,列表重複三次**。程式碼走起

list1=[0, 1, 2, 3, 4]
#乘法運算
print(list1*2)
[0, 1, 2, 3, 4, 0, 1, 2, 3, 4]#重複2次
print(list1*3)
[0, 1, 2, 3, 4, 0, 1, 2, 3, 4, 0, 1, 2, 3, 4]#重複3次

##1.2 in 和not in
in 和not in 都是用來檢查元素是否存在列表中。in是判斷存在列中,not in 判斷不存在列表中。

heros=['鋼鐵俠','綠巨人','蜘蛛俠','豬豬俠','蟻人','美國隊長','蜘蛛俠','蜘蛛俠']
#in 
print(1 in heros)#檢查1是否在列表中,是返回True
print(heros[0] in heros)檢查位置為0的元素是否在列表中。
False#1不存在列表中
True#存在列表中


# not in
print(heros[0] not in heros)#0位置上的元素是否不存在列表中
False# 返回False,說明存在列表中

1.3 len()

計算列表中的長度或者獲取列表中元素的個數

list1= [0,1,2,3,4]
list2=[5, 6, 7, 8, 9]
print(len(list1))
print(len(list3))
5
5

1.4 max()

獲取列表中的最大元素。

1.5 min()

獲取列表中的最小元素

1.6 list.index(x,start,end)

獲取指定元素在列表中的位置
x是指定元素
start:是指定尋找元素的起始位置;
end:是指尋找元素的結束位置
返回列表中指定元素的位置

heros = ['鋼鐵俠','綠巨人','蜘蛛俠','豬豬俠','蟻人','美國隊長','蜘蛛俠','蜘蛛俠']
print(heros.index('蟻人',0,8))
4

注意:如果列表中有多個指定元素出現,使用list.index()獲取指定元素在列表中出現的第一次位置,獲取第一次位置虎就結束。

heros = ['鋼鐵俠','綠巨人','蜘蛛俠','豬豬俠','蟻人','美國隊長','蜘蛛俠','蜘蛛俠']
print(heros.index('蜘蛛俠',0,9))
2#2為蜘蛛俠第一次出現的位置,後面位置的蜘蛛俠未出現。

1.7 list.count(x)

用於統計列表中指定元素出現的次數

list3=[10, 11, 12, 13, 14,12,12,12]
print(list3.count(12))
4#列表中的元素12在列表中出現了4次

2. 修改列表

修改列表主要是包括:想列表中新增元素和刪除元素。

新增元素方法分為:下標索引新增和切片新增

2.1 索引新增

#語法:
list[位置]=‘元素’
#案例
heros1 = ['鋼鐵俠','綠巨人','蜘蛛俠','豬豬俠','蟻人']
heros1[0]='美國隊長'
print(heros1)
['美國隊長', '綠巨人', '蜘蛛俠', '豬豬俠', '蟻人']

2.2 切片新增

  • 通過切片來替換元素大於原有的元素,多餘的元素依次往後延;
  • 如果替換的元素小於原有的元素,原有被切片的元素變成替換的元素;
  • 當切片設定了步長,原序列中的元素的個數必須和你切片的元素的個數保持一致。
#替換元素大於原有被替換的元素
heros1 = ['鋼鐵俠','綠巨人','蜘蛛俠','豬豬俠','蟻人']
heros1[0:2]=['葫蘆娃','黑貓警長','黑豹']
print(heros1)
['葫蘆娃', '黑貓警長', '黑豹', '蜘蛛俠', '豬豬俠', '蟻人']#'鋼鐵俠','綠巨人'被替換,同時替換元素的個數多餘被替換元素,多的替換元素依次往後延。

#替換元素小於被替換元素
heros1 = ['鋼鐵俠','綠巨人','蜘蛛俠','豬豬俠','蟻人']
heros1[0:2]=['葫蘆娃']
print(heros1)
['葫蘆娃', '蜘蛛俠', '豬豬俠', '蟻人']#替換的元素小於原有的元素,原有被切片的元素變成替換的元素
#案例:切片含有步長
heros1 = ['鋼鐵俠','綠巨人','蜘蛛俠','豬豬俠','蟻人']
heros1[::2]=['葫蘆娃','美國隊長','孫悟空']
print(heros1)
['葫蘆娃', '綠巨人', '美國隊長', '豬豬俠', '孫悟空']

2.3 列表中刪除元素

(1)列表中刪除元素的方法,通過del(),沒有返回值。
(2)del結合切片來刪除

heros1 = ['鋼鐵俠','綠巨人','蜘蛛俠','豬豬俠','蟻人']
del heros1[0]
print(heros1)
['綠巨人', '美國隊長', '豬豬俠', '孫悟空']#原列表中的0位置元素鋼鐵俠被刪除。
heros = ['鋼鐵俠','綠巨人','蜘蛛俠','豬豬俠','蟻人','美國隊長']
del heros[1:3]
print(heros)
['鋼鐵俠', '豬豬俠', '蟻人', '美國隊長']#原列表中位置為1,2的元素被刪除

3. 列表的方法

3.1 append()向列表的最後新增一個元素

解釋,這個新新增的元素可以是一個單個元素,也可以是一個完整的列表。
區別於extend(iterable)

list1=[0, 1, 2, 3, 4]
heros1 = ['鋼鐵俠','綠巨人','蜘蛛俠','豬豬俠','蟻人']
list2=[5, 6, 7, 8, 9]
list1.append(heros1)
list2.extend(heros1)
print(list1)
print(list2)
[0, 1, 2, 3, 4, ['鋼鐵俠', '綠巨人', '蜘蛛俠', '豬豬俠', '蟻人']]
[5, 6, 7, 8, 9, '鋼鐵俠', '綠巨人', '蜘蛛俠', '豬豬俠', '蟻人']

對比append()和extend(),我們可以發現,append()
是將一個列表單獨作為一個元素,直接加入原列表中,組成原列表中的新元素。
extend()是將新新增的序列新增到原列表中。—簡單的講就是擴充套件原序列

3.2 insert(arg1,arg2)

向列表指定位置插入一個元素

引數1: 要插入的位置
引數2:要插入的元素

list1=[0, 1, 2, 3, 4]
list1.insert(2,'孫悟空')
[0, 1, '孫悟空', 2, 3, 4]

3.3 extend(iterable)

使用一個新的序列來擴充套件當前序列(將新序列的元素新增到列表中),引數需要傳遞一個序列

list2=[5, 6, 7, 8, 9]
heros1 = ['鋼鐵俠','綠巨人','蜘蛛俠','豬豬俠','蟻人']
print(list2)
[5, 6, 7, 8, 9, '鋼鐵俠', '綠巨人', '蜘蛛俠', '豬豬俠', '蟻人']

3.4 pop()

根據索引刪除元素並返回刪除元素,需要接收返回的物件

list4=[10, 11,'蜘蛛俠',12, 13, 14,12,12,12,'阿珂']
a = list4.pop(2)#pop有返回值,需要接收
print(a)
蜘蛛俠

3.5 remove()

刪除指定元素,如果相同值的元素有多個,只會刪除第一個,沒有返回值。

list4=[10, 11,'蜘蛛俠',12, 13, 14,12,12,12,'阿珂']
list4.remove('蜘蛛俠')
print(list4)
[10, 11, 12, 13, 14, 12, 12, 12, '阿珂']

有沒有返回值,可以接收個物件,並列印物件,如果不存在返回值為NOne

3.6 reverse()

翻轉列表

list4=[10, 11,'蜘蛛俠',12, 13, 14,12,12,12,'阿珂']
list4.reverse()
print(list4)
['阿珂', 12, 12, 12, 14, 13, 12, '蜘蛛俠', 11, 10]

3.7 sort(key=None,reverse=False)

用來對列表中的元素進行排序,reverse為True為反序,False為正序。

list5 = list('abcdefg')
list5.sort(reverse=True)
print(list5)
['g', 'f', 'e', 'd', 'c', 'b', 'a']

4. 遍歷列表

是指將列表中的元素提取出來。
遍歷的方法主要是while迴圈和for迴圈

4.1 while遍歷迴圈

注意 當使用while迴圈時,條件更新表示式要在print()函式之後,否則報錯。即需要根據執行流程確定更新表示式的位置。

5. 錯題集

5.1列表之間不能做乘法運算

在這裡插入圖片描述

5.2. while迴圈遍歷列表

在這裡插入圖片描述
解決辦法:
將跟新表示式放在print之後
在這裡插入圖片描述

相關文章