python入門12 列表
阿新 • • 發佈:2018-11-11
sorted 打包 mov () 數位 多維 n) sorted函數 定義
列表使用率較高,方法也多。
列表的定義
#coding:utf-8 #/usr/bin/python """ 2018-11-10 dinghanhua 列表 """ ‘‘‘列表 可變數據類型 序列的一種 使用率比較高‘‘‘ li = [1,2,3,4] li2 = [‘mon‘,‘tue‘,‘wed‘,‘thu‘,‘fri‘,‘sat‘,‘sun‘] li3 = [(1,2),‘string‘,[‘list‘]] li4 = [[1,‘apple‘],[2,‘banana‘],[3,‘pear‘]]
列表的操作:
‘‘‘索引‘‘‘ print(li[0],li[1],li3[-1]) for l inli2: print(l,end = ‘ ‘) for index in range(len(li2)): print(li2[index],end = ‘\t‘)
‘‘‘切片‘‘‘ print(li[:]) print(li2[::2]) #每2個取一個 print(li2[:-2]) print(li2[1:5]) print(li2[-2:-1]) print(li2[::-1]) #翻轉 print(li2[::-2])
‘‘‘批量修改、插入、刪除數據‘‘‘ li2[:5] = [‘周一‘,‘周二‘,‘周三‘,‘周四‘,‘周五‘] print(‘批量修改之後:‘,li2) li2[5:] = [] print( ‘批量刪除之後:‘,li2) li2[5:-1] = [‘周六‘,‘周日‘] print( ‘批量追加之後:‘,li2) li2[5:5] = [‘隨便插入‘] print( ‘批量插入之後:‘,li2) li2[:] = [] print( ‘清空列表:‘,li2) li2[:] = [‘周一‘,‘周二‘,‘周三‘,‘周四‘,‘周五‘]
‘‘‘刪除數據‘‘‘ del li2[4] #刪除索引對應的值 print(li2) del li2 #刪除列表引用
‘‘‘列表常用函數‘‘‘ li = [‘mon‘,‘tue‘,‘wed‘,‘thu‘,‘fri‘,‘sat‘,‘sun‘]
#最大max 最小min
print(‘max=%s,min=%s‘%(max(li),min(li))) li.append(‘none‘) print(‘append 追加一個元素 :‘,li) print(‘mon的個數‘,li.count(‘mon‘)) li.insert(1,[1,2]) #插入 print(li) print(li.index([1,2])) #列表中第一個匹配值的索引 ele = li.pop() #彈出最後一個元素並返回 print(ele,li) ele = li.pop(1) #彈出索引對應的元素 print(ele,li) li.extend([‘1‘,‘2‘]) #追加列表 print(li) li5 = li.copy() #復制 print(li5,li) li5.remove(‘wed‘) #刪除對象 print(‘remove:‘,li5) li5.reverse() #翻轉 print(‘reverse:‘,li5) li.sort() #排序 print(‘sort:‘,li) li.sort(reverse = True) print(‘sort(reverse):‘,li) li.sort(key = len) print(‘sort(key=len),‘,li) #sort改變原list print(‘sorted函數‘,sorted(li,key = len,reverse = True)) #sorted不改變原list li.clear() #清空 print(li)
‘‘‘*列表復制多個 +列表連接‘‘‘ linew = li * 2 print(linew) linew = li + li3 print(linew) linew += [‘test‘] print(linew)
‘‘‘列表生成器‘‘‘ li = [1,2,3,4,5,6] li2 = [x**3 for x in li] #list的每個值的三次方 print(li2) li3 =[x**2 for x in li[1::2]] #偶數位置元素的平方,從index=1開始取,每隔2位取一個 print(li3) li1 = [1,2,3,4] li2 = [5,6,7,8] li3 = [ x+y for x in li1 for y in li2 if x%2==0 and y%2==0 ]#li1,li2中偶數相加組成的列表 print(li3)
‘‘‘多維列表‘‘‘ li = [[‘title‘,‘pubdate‘,‘author‘],[‘python‘,‘2018-09-01‘,‘Praul‘]] #取author的值 if ‘author‘ in li[0]: index = li[0].index(‘author‘) author = li[-1][index] print(‘author:‘,author)
‘‘‘zip() 將多個可叠代對象的值挨個取出打包成的tuple,返回tuple的list‘‘‘ li = [[‘title‘,‘pubdate‘,‘author‘,‘desc‘],[‘python‘,‘2018-09-01‘,‘Praul‘]] li_zip = zip(li[0],li[1]) print(li_zip) for ele in li_zip: print(ele)
‘‘‘map(func,iter) 可叠代對象每個元素執行func函數 ‘‘‘ li_map = map(max,li[0],li[1]) print(type(li_map)) for ele in li_map: print(ele)
‘‘‘類型轉換‘‘‘ #list to tuple li = [‘1‘,‘2‘,‘3‘,‘4‘] tu = tuple(li) #list to string print(tu) str1 = ‘‘.join(li) #列表項的連接 print(str1) str2 = str(li) print(str2) #整個列表作為字符串 # string to list li_str = list(str1) print(‘str to list:‘,li_str) li_str2 = list(‘[1,2,3,4]‘) #每個字符均轉成元素 li_str3 = eval(‘[1,2,3,4]‘) #保持原樣轉成list print(li_str2) print(li_str3)
the end!
python入門12 列表