列表使用率较高,方法也多。
列表的定义
#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 in li2: 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 最小minprint(‘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!
原文地址:https://www.cnblogs.com/dinghanhua/p/9940968.html
时间: 2024-11-09 03:44:15