【Python】學習筆記2-數據類型:數組、數組循環切片


數組、數組循環切片、字符串方法、字典、元組

一、數組

1、一維數組,就是list:

 1 strus = ['xiaohei','xiaobai','xiaohuang']
 2 print(strus)# 輸出全部數組
 3 print(strus[2])# 小標,角標,索引 0 1 2 3
 4 print(strus[-1])# 最后一個元素下標是-1
 5 #
 6 # 增加append
 7 strus.append('chenmenmg') # append,增加到末尾
 8 # 增加insert
 9 strus.insert(0,'chenmeng1')# insert,在指定是位置增加元素,如果指定的小標不存在,那么就在末尾添加
10 strus.insert(6,'chenmen6')
11 strus.insert(-1,'chenmeng7')# 注意:insert不要用-1,位置不對
12 print(strus)
13 #
14 # 修改,即賦值
15 # 替換strus[6]strus[7]
16 strus[0]='chenmeng0'
17 t=strus[6]
18 strus[6]=strus[5]
19 strus[5]=t
20 print(strus)
21 
22 # 查找某個字符在字符串中
23 if 'xiaohei' in strus:
24     print('aaaaaaaa')
25 # 查看某個元素在數組里面的個數,count,不存在返回0
26 print(strus.count('chenmenmg'))
27 # 找到元素的索引,如果有多個找到第一個,如果找到一個不存在的,就報錯
28 print(strus.index('chenmenmg'))
29 
30 # 刪除pop
31 print('刪除',strus)# pop默認刪除最后一個元素,可以指定下標刪除
32 strus.pop(0)
33 strus.pop()
34 print(strus.pop())# 刪除直接打印,會將刪除的值返回
35 print(strus)
36 
37 # 刪除remove 刪除不會打印自己
38 strus.remove('xiaohei')
39 print(strus)
40 
41 # 刪除del 刪除指定元素
42 del strus[0]
43 print(strus)
44 
45 # clear 清空整個list
46 strus.clear()
47 print(strus)
48 
49 # reverse,反轉list
50 strus = [1,2,3]
51 print(strus)
52 strus.reverse()
53 print(strus)
54 
55 # sort 排序,默認升序
56 strus = [11,200,3]
57 print(strus)
58 strus.sort()
59 print(strus)
60 strus.sort(reverse=True)# 注意:按照降序排,sort指定reverse=True
61 print(strus)

 2、多維數組

 1 # 二維數組
 2 two =[1,2,[31,32]]
 3 print(two)
 4 print(two[2][0])
 5 # 三維數組
 6 three =[2,5,[1,7,[0,10]]]
 7 print(three)
 8 print(three[-1][-1][-1])# 打印最后一個
 9 
10 # 合並兩個數組extend
11 two.extend(three)
12 print(two)
13 print(three)

3、list循環

 1 # 循環
 2 names =['cm1','cm2','cm3']
 3 for name in names: #如果直接for循環一個list的時候,那面每次循環的值是這個list里面的元素,換行打印list數組里面的元素
 4     print(name)
 5 
 6 # 循環,同時打印索引和數組值enumerate(枚舉),必須含有兩個參數
 7 for index, item in enumerate(names):#i,v隨意注冊的變量
 8     print ("index = %s,value = %s" % (index, item)) # index = 0,value = cm1
 9 
10 # 注意:循環list時,不能有刪除的操作,因為一旦刪除一次,list就變化,如下:刪除所有奇數
11 
12 # 錯誤寫法
13 li = [1,1,2,3,4,5,6,7,8,9]
14 for i in li:
15     if i%2!=0:
16         li.remove(i)
17 print(li)
18 
19 # 正確寫法
20 # remove(),()中是值
21 li = [1,1,2,3,4,5,6,7,8,9]
22 li2 =li[:]
23 for i in li2:
24     if i%2!=0:
25         li.remove(i)
26 print(li)
27 
28 # 注意:不能用li2=li,指針一樣
29 # 注意:li2=li淺拷貝
30 # 注意:li2 =li[:]深拷貝
31 # 深淺拷貝的區別,內存地址是否變化
32 
33 # 打印list的地址id()
34 li2=li
35 print("Li地址:",id(li))
36 print("Li2地址:",id(li2))

 

4、list切片

 

 1 # 切片:list取值的一種方式,顧頭不顧尾
 2 new_names = names[0:1] #取names【0】直到name【1】,不取name【1】:['cm1']
 3 new_names = names[:1] # 如果切片前面一個值不寫的話,從開頭開始取,輸出['cm1']
 4 print(names[1:]) # 如果切片后面一個值不寫的話,取末尾:['cm2', 'cm3']
 5 print(names[:])# 如果切片前面后面的值都不寫的話,全部取出來
 6 
 7 # 步長,常用概率高:間隔幾個取一個
 8 nums = [1,2,3,4,5,6,7,8,9]
 9 print(':1',nums[::2]) #:1 [1, 3, 5, 7, 9]
10 
11 # 步長是正數時,從左往右取
12 # 步長是負數時,從右往左取
13 print(':1',nums[::-1]) #等價於反轉:1 [9, 8, 7, 6, 5, 4, 3, 2, 1]
14 print(nums[-1:-3:-1])#用的頻率低,最后是-1,代表從右向左取值,小標依次為-1、-2、-3,取頭不取尾,所以不取-3的值
15 
16 # 切片同樣適用於字符串,字符串也有下標,空格算一個字符
17 title = '今天聖誕節'
18 print(title[2:]) #聖誕節
19 for t in title:
20     print(t)

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM