1. 程式人生 > >18.07.05

18.07.05

入學 inpu for 王健林 tuple 從右到左 數據 ont family

一.list列表

列表可以裝大量的數據,不限制數據類型. 表達方式:[],方括號中的每項用","隔開. 列表和字符串一樣,有索引和切片

1.列表的增刪改查

(1).append("添加的元素")向列表中添加一個元素,默認元素添加到列表的末尾.

例:

lst = ["周傑倫", "王力宏", "周潤發"]
lst.append("伍佰")
print(lst)    ==<[‘周傑倫‘, ‘王力宏‘, ‘周潤發‘, ‘伍佰‘]>

insert(指定位置,"添加的元素")把元素添加的指定的位置,原來在指定位置的元素往後移.

例:

lst = ["周傑倫", "王力宏", "周潤發"]
lst.insert(1, "馬化騰") # 把元素插入到指定位置. 元素的移動
print(lst) ==<[‘周傑倫‘, ‘馬化騰‘, ‘王力宏‘, ‘周潤發‘]>

exend(添加的元素)把元素添加到列表的最後 如果添加的元素是字符串最後列表添加的元素是字符串的每一個元.

叠代添加: 如果添加的是列表最後列表最後添加的是要添加的列表的元素.

例:

lst = ["周傑倫", "王力宏", "周潤發"]
lst.extend(["馬雲"])
print(lst) ==<[‘周傑倫‘, ‘王力宏‘, ‘周潤發‘, ‘馬雲‘]>

例:

lst = ["周傑倫", "王力宏", "周潤發"]
lst.extend(["馬雲", "王健林", "李嘉誠"]) # 叠代添加
print(lst) ==<[‘周傑倫‘, ‘王力宏‘, ‘周潤發‘, ‘馬雲‘, ‘馬雲‘, ‘王健林‘, ‘李嘉誠‘]>

例: 多次輸入名字,按q鍵停止輸入.

lst = []
while 1:
name = input("請輸入學生的名字")
if name.upper() == "Q":
break
else:
lst.append(name) # 把名字添加到列表

print(lst)
結果:
請輸入學生的名字adf
請輸入學生的名字vht
請輸入學生的名字tj
請輸入學生的名字hm,
請輸入學生的名字q
[‘adf‘, ‘vht‘, ‘tj‘, ‘hm,‘]

2. pop()刪除最後一個元素, pop(刪除元素的索引)刪除指定索引位置的元素

例:

lst = ["白菜", "大白梨", "茄子", "大白梨"]
e = lst.pop() # 返回刪除的元素, 刪除最後一個
print(e) ==<大白梨> #刪除的元素
print(lst)   ==<[‘白菜‘, ‘大白梨‘, ‘茄子‘]>   #刪除最後一個元素的列表

例:

lst = ["白菜", "大白梨", "茄子", "大白梨"]
e = lst.pop(1) # 根據給出的索引進行刪除
print(e) ==<大白梨>
print(lst) ==<[‘白菜‘, ‘茄子‘, ‘大白梨‘]>

remove(刪除的元素)刪除指定元素

例:

lst = ["白菜", "大白梨", "茄子", "大白梨"]
lst.remove("大白梨")
lst.remove("大白梨")
print(lst) ==<[‘白菜‘, ‘茄子‘]>

del 列表[] 切片刪除

例:

lst = ["白菜", "大白梨", "茄子", "大白梨"]
del lst[1:] #從索引為1到最後的元素全部刪除
print(lst) ==<[‘白菜‘]>

3. 列表的改

列表的修改利用索引切片的修改

索引修改

例:

lst = ["太白", "五色", "銀王", "日天"]
lst[0] = "太黑"
print(lst) ==<[‘太黑‘, ‘五色‘, ‘銀王‘, ‘日天‘]>

叠代修改

例:

lst = ["太白", "五色", "銀王", "日天"]
lst[1:3] = "馬化騰" # 叠代修改
print(lst) ==<[‘太白‘, ‘馬‘, ‘化‘, ‘騰‘, ‘日天‘]>

例:

lst = ["太白", "五色", "銀王", "日天"]
lst[1:3] = ["周傑倫", "王力宏"]
print(lst) ==<[‘太白‘, ‘周傑倫‘, ‘王力宏‘, ‘日天‘]>

4.列表的查詢

for循環

例:

lst = ["舒克貝塔", "黑貓警長", "熊大熊二", "葫蘆娃", "吳佩琪"]
for el in lst: # element(元素)
print(el)
結果:
舒克貝塔
黑貓警長
熊大熊二
葫蘆娃
吳佩琪

5.列表的相關操作

(1)len(列表)--列表長度

例:

lst = ["1", "2", "3", "4","2", "6"]
print(len(lst)) ==<6>

(2)count(指定字符)--指定字符的長度

例:

lst = ["1", "2", "3", "4","2", "6"]
print(lst.count("2")) ==<2>

(3)sort()--排序,數字從小到大 從大到小是sort(reverse)

例:

lst = [1, 9, 18, 2 , 34, 88, 7, 9]
lst.sort() # 升序
print(lst) ==<[1, 2, 7, 9, 9, 18, 34, 88]>
lst.sort(reverse=True) # 倒序
print(lst) ==<[88, 34, 18, 9, 9, 7, 2, 1]>

(4)reverse--讓列表從從右到左(倒序)排列

例:

lst = [1, 9, 18, 2 , 34, 88, 7, 9]
lst.reverse()
print(lst) ==<[9, 7, 88, 34, 2, 18, 9, 1]>

6.列表的嵌套

降維操作

例:

lst = [1, "周傑倫", "張傑", ["周星馳", ["可口可樂"], "陳奕迅"]]
print(lst[3][1][0]) ==<可口可樂>
lst[3][1].append("芬達")
print(lst) ==<[1,"周傑倫","張傑",["周星馳",["可口可樂","芬達"],"陳奕迅"]]>
lst[2] = lst[2].replace("傑", "鍵")
print(lst) ==<[1,"周傑倫","張鍵",["周星馳", ["可口可樂"], "陳奕迅"]]>

二.tuple元組

不可變列表,只讀列表. 有索引和切片

當元組元素少於等於1時,需要加一個逗號.

例:

lit = (1, "花生", "山藥")
print(type(lit)) ==<class"tuple">
tu = (1 ) # 需要添加一個逗號
print(type(tu)) ==<class"int">
tu = (1, ) # 需要添加一個逗號
print(type(tu)) ==<class"tuple">

空元組 tu=tuple() 元組只能進行(1)count()--查找元素出現的次數;(2)index()--查找元素是否存在,不存在直接報錯.

元組的遍歷:

for el in tu:

print(el)

元組本身不能改變,元組內部第一層元素不能改變 如果元組中包含列表,則列表是可以變的.

例:

tu = (1, "馬化騰", ["胡辣湯", "疙瘩湯", "西紅柿雞蛋湯"])
tu[2].append("粘包米") # 元組本身沒有變. 變的是兒子中的內容
print(tu) ==<(1, ‘馬化騰‘, [‘胡辣湯‘, ‘疙瘩湯‘, ‘西紅柿雞蛋湯‘, ‘粘包米‘])>

三.range

例:

for i in range(10): # 從0開始. 到10結束
print(i)
結果:
0
1
2
3
4
5
6
7
8
9

例:

for i in range(3, 7):   # 從3 開始. 打印到7結束. 不能到7
print(i)
結果:
3
4
5
6

例:

for i in range(3, 10, 2):  # 從3 到 10 每2個取一個
print(i)
結果:
3
5
7
9

例:

for i in range(0, -5, -1):  #從0 開始到-5結束. 倒著數
print(i)
結果:
0
-1
-2
-3
-4

18.07.05