1. 程式人生 > >4-列表和元組

4-列表和元組

name 可叠代對象 int count 查看列表 次數 pen 列表 AR

一、列表(list)

  列表是有序的,有索引,可切片。切片和字符串是一模一樣的;索引,切片,步長

切片:

1 list1 = [1, 2, 3, 4, blue, [see, eggs, 8, 9, 3], "green", 2]
2 #切片
3 print(list1[:2])    #[1, 2]
4 print(list1[:6:2])  #[1, 3, ‘blue‘]
5 print(list1[5:7])   #[[‘see‘, ‘eggs‘, 8, 9, 3], ‘green‘]
6 print(list1[-1:-5:-1])  #[2, ‘green‘, [‘see‘, ‘eggs‘, 8, 9, 3], ‘blue‘]
7 print(list1[5][2]) #8 8 print(list1[5][1:3]) #[‘eggs‘, 8] 9 list2 = [1, 2, 4, blue, [see, eggs, 8, 2, 3]]

列表的增刪改查:

增:

  append #在列表的最後面追加,沒有返回值
  insert #插入,按照索引去插入
  extend #叠代添加在最後

 1 list1 = [1, 2, 3, 4, blue, [see, eggs, 8, 9, 3], "green", 2]
 2 #
 3 print(list2.append("
twitter")) #None 4 print(list2) #[1, 2, 4, ‘blue‘, [‘see‘, ‘eggs‘, 8, 2, 3], ‘twitter‘] 5 list2.append([1,2,3]) 6 print(list2) #[1, 2, 4, ‘blue‘, [‘see‘, ‘eggs‘, 8, 2, 3], ‘twitter‘, [1, 2, 3]] 7 #按照索引去插入 8 print(list2.insert(2, "ss")) #None 9 print(list2) #[1, 2, ‘ss‘, 4, ‘blue‘, [‘see‘, ‘eggs‘, 8, 2, 3]]
10 list2.insert(1,[1,2]) 11 print(list2) #[1, [1, 2], 2, 4, ‘blue‘, [‘see‘, ‘eggs‘, 8, 2, 3]] 12 list2[4].insert(2,2) 13 print(list2) #[1, 2, 4, ‘blue‘, [‘see‘, ‘eggs‘, 2, 8, 2, 3]] 14 15 #extend叠代追加 16 list2.extend([1,2,3]) 17 print(list2) #[1, 2, 4, ‘blue‘, [‘see‘, ‘eggs‘, 8, 2, 3], 1, 2, 3] 18 list2.extend("lkjh") 19 print(list2) #[1, 2, 4, ‘blue‘, [‘see‘, ‘eggs‘, 8, 2, 3], ‘l‘, ‘k‘, ‘j‘, ‘h‘] 20 list2.extend([1,[1,2]]) 21 print(list2) #[1, 2, 4, ‘blue‘, [‘see‘, ‘eggs‘, 8, 2, 3], 1, [1, 2]]

刪:

  pop: #按照索引刪除,不添加索引時默認刪除最後一個元素,有返回值,返回刪除的元素
  remove #按照元素去刪除
  clear #清空列表內容
  del #刪除列表 del list
  #切片刪除 del list[:3] del list[:3:2]

 1 #pop按照索引刪除,不添加索引時默認刪除最後一個元素,有返回值,返回刪除的元素
 2 
 3 print(list2.pop(2)) #4
 4 print(list2)    #[1, 2, ‘blue‘, [‘see‘, ‘eggs‘, 8, 2, 3]]
 5 list2[-1].pop(1)
 6 print(list2)    #[1, 2, 4, ‘blue‘, [‘see‘, 8, 2, 3]]
 7 l3 = [1, 2, [1,l,r], "kk",{"name":"ll","age":20}]
 8 l3[4].pop("name")   #[1, 2, 4, ‘kk‘, {‘age‘: 20}]
 9 print(l3)
10 
11 print(l3.remove(1)) #None
12 print(l3)   #[2, 4, ‘kk‘, {‘name‘: ‘ll‘, ‘age‘: 20}]
13 l3.remove("kk")
14 print(l3)   #[1, 2, 4, {‘age‘: 20, ‘name‘: ‘ll‘}]
15 l3[2].remove(1)
16 print(l3)   #[1, 2, [‘l‘, ‘r‘], ‘kk‘, {‘age‘: 20, ‘name‘: ‘ll‘}]
17 #clear
18 l3.clear()
19 print(l3)   #[]
20 l3[4].clear()
21 print(l3)   #[1, 2, 4, ‘kk‘, {}]
22 del l3
23 print(l3)   #[]
24 del l3[:2]
25 print(l3)   #[[‘1‘,‘l‘,‘r‘], "kk",{"name":"ll","age":20}]

改:

  賦值 #按照索引去改 list[1] = ‘re‘
  #按照切片去改 list[:6] = ‘ashlfkhdguiwe‘
    叠代的去添加

 1 l3[1] = "tt"
 2 print(l3)   #[1, ‘tt‘, [‘1‘, ‘l‘, ‘r‘], ‘kk‘, {‘age‘: 20, ‘name‘: ‘ll‘}]
 3 l3[2][1] = 6
 4 print(l3)   #[1, ‘tt‘, [‘1‘, 6, ‘r‘], ‘kk‘, {‘age‘: 20, ‘name‘: ‘ll‘}]
 5 l3[4][1] = "hobby"
 6 print(l3)   #[1, 2, [‘1‘, ‘l‘, ‘r‘], ‘kk‘, {‘name‘: ‘ll‘, 1: ‘hobby‘, ‘age‘: 20}]
 7 
 8 l3[0:2] = lkjhgf
 9 print(l3)   #[‘l‘, ‘k‘, ‘j‘, ‘h‘, ‘g‘, ‘f‘, [‘1‘, ‘l‘, ‘r‘], ‘kk‘, {‘age‘: 20, ‘name‘: ‘ll‘}]
10 l3[0:3] = [9,8,7,6,5]
11 print(l3)   #[9, 8, 7, 6, 5, ‘kk‘, {‘age‘: 20, ‘name‘: ‘ll‘}]

查:

  #可以按照索引,切片,步長去查
  #可以按照for循環去查

1 print(list1[:2])    #[1, 2]
2 print(list1[:6:2])  #[1, 3, ‘blue‘]
3 print(list1[5:7])   #[[‘see‘, ‘eggs‘, 8, 9, 3], ‘green‘]
4 print(list1[-1:-5:-1])  #[2, ‘green‘, [‘see‘, ‘eggs‘, 8, 9, 3], ‘blue‘]
5 print(list1[5][2])  #8
6 print(list1[5][1:3])    #[‘eggs‘, 8]

列表的其他方法

 1 #sort排序
 2 print(list4.sort()) #None
 3 print(list4)    #[1, 1, 3, 5, 6, 7, 9]
 4 
 5 #排序反轉
 6 list4.sort(reverse=True)
 7 print(list4)    #[9, 7, 6, 5, 3, 1, 1]
 8 #reveres反序
 9 list4.reverse()
10 print(list4.reverse())  #None
11 print(list4)    #[1, 7, 9, 6, 3, 5, 1]
12 
13 #查看列表長度
14 print(len(list4))   #7
15 #統計
16 print(list4.count(1))   #2
17 #通過元素查找索引
18 print(list4.index(5))   #1
19 
20 #join用字符串做一個連接符,鏈接可叠代對象中的每一個元素,形成一個新的字符串,使用時,列表裏必須是字符串,數字無法進行拼接
21 list5 = ["ll",kk,jj]
22 print(...join(list5))

列表的嵌套

  在列表中再嵌套一個嵌套

list6 = [1,2,3,[1,2,3,[1,2,3]]]

二、元組

  元組是用來存儲的,元組不可以增、刪、改只能查找

1 tuple1 = (1,2,3,4)
2 print(tuple1[1])    #2

元組裏可以使用以下幾個方法:

1 count    #統計字符在列表的出現次數
2 len        #查看元組的長度
3 index    #通過元素去找索引

range:

可以當成一個數字列表,範圍可以自己設定     顧首不顧尾,可以加步長

4-列表和元組