Python列表及元组操作



 

  #列表(一组有序数据的组合就是列表)


#创建列表 #空列表

var = list()#var = []

print(var,type(var)) #具有多个元素的列表

var = ['风','水','风水'] print(var,type(var)) #基本操作

var = ['地','火','地火'] #访问列表中的元素

print(var[-2]) #修改元素

var[1] = '水'

print(var) #删除元素

del var[1] print(var) #添加元素(不能加)


#序列操作

listvar1 = ['胡一菲','曾小贤','陆展博'] listvar2 = ['林宛瑜','陈美嘉','吕子乔','关谷神奇'] #相加

result = listvar1 + listvar2 print(result) #相乘操作

result = listvar1 * 2

print(result) #分片 #result = listvar2[:3] #result = listvar2[1:] #result = listvar2[1:3] #result = listvar2[:] #print(result)


#成员检测

result = 'Lisa荣' in listvar2 print(result) result = 'Lisa荣' not in listvar2 print(result) #序列函数 #len() 检测列表中元素的个数

var = ['张三','李四','王五','赵六'] result = len(var) print(result) #max() 获取最大值

result = max([12,23,34,45,21,32,43,54]) print(result) #min() 获取最小值

result = min([12,23,34,45,21,32,43,54]) print(result) #遍历列表


#for...in

var = ['红','橙','黄','绿','青','蓝','紫'] for i in var: print(i) #while遍历

i = 0 while i < len(var): print(var[i]) i += 1


#多层列表的遍历

var = [ ['小黑','black'], ['小白','white'], ['小彩','color'] ] #等长二级列表

for i,j in var: print(i,j) #等长或不等长列表都可以遍历

for i in var: #print(i)

    for j in i: print(j) #列表推导式

var = ['段誉','虚竹','乔峰','木婉清','钟灵儿'] #最基本的列表推导式

result = ['@'+i+'@' for i in var] print(result) #书写列表1-10,使用列表推导式获取当前列表中每个数字*3的列表

var = [1,2,3,4,5,6,7,8,9,10] result = [i * 3 for i in var] print(result) #带有判断条件的列表推导式

var = [1,2,3,4,5,6,7,8,9,10] result = [a for a in var if a % 2 == 0] print(result) #声明一个多人名称的列表,使用推导式获取所有三个字人名

var = ['段誉','虚竹','乔峰','木婉清','钟灵儿'] result = [n for n in var if len(n) == 3] print(result) #多循环列表推导式

sizes = [37,38,39,40,41] colors = ['yellow','cyan','pink','purple'] result = [str(s) +'-'+ c for s in sizes for c in colors] print(result) #男组4人,女组5人,互相见面一次

men = ['男1','男2','男3','男4'] women = ['女1','女2','女3','女4','女5'] result = [m +'-'+ w for m in men for w in women] print(result) #带有判断条件的多循环列表推导式

men = ['男1','男2','男3','男4'] women = ['女1','女2','女3','女4'] result = [m +'-'+ w for m in men for w in women if men.index(m) == women.index(w)] print(result) #append() 向列表的末尾添加元素 直接修改元列表

var = ['a','b','c','d'] print(var) var.append('e') print(var) #insert() 在列表的指定位置之前添加元素

var = ['a','b','c','d'] print(var) var.insert(2,'g') print(var) #pop() 删除列表中指定位置的元素

var = ['a','b','c','d'] print(var) result = var.pop(0) print(var,result) #remove() 删除列表中指定值的元素

var = ['a','b','c','d'] print(var) result = var.remove('c') print(var,result) #clear() 清空列表

var = ['a','b','c'] print(var,id(var)) var.clear() print(var,id(var)) #copy() 复制列表

var = ['a','b','c','d'] print(var,id(var)) newvar = var.copy() print(newvar,id(newvar)) #count() 计算列表中某个元素出现的次数

var = [2,3,4,3,4,5,6,7,8,5,4,6,7,8] result = var.count(5) print(result) #excend() 将一个列表合并到另外一个列表中

var1 = ['xs','dc','yyh','wzj'] var2 = ['dsn','lss','cyy','lrs'] var1.extend(var2) print(var1) #index() 获取某个元素在列表中的索引

var = ['xs','dc','yyh','wzj'] result = var.index('dc') print(result) #reverse() 列表反转操作

var = ['a','b','c','d'] print(var) var.reverse() print(var) #sort() 排序函数

var = [23,342,34,32,75,59] #默认排序 升序 #var.sort() #print(var)


#降序 #var.sort(reverse=True) #print(var)


#自定义排序规则 #奇偶数

def myfunc(num): result = num % 5

    return result var.sort(key=myfunc,reverse = True) print(var) a = [4,5,66,45,99] # 0 1 0 1 1

# 1 0 1 0 0 #a.sort(key=ceshi,reverse=False)

a.sort(key = lambda x:x%2==0) #print(a)


def ceshi(x): return x%2 == 0 a.sort(key=ceshi) print(a) #sort 排序按照返回值来排 特点基于原来列表进行排序

''' > < >= <= != == true 1 false 0 True + 1 1+1 1 + 1.1 2.1 bool int float float() int() bool() '''

 

 

 

  #元组(元组也是一组有序数据的组合,和列表唯一的不同是,元组不可修改) #创建单个元素的元组 #var = (13,)

var = 23, print(var,type(var)) #元组只能进行访问操作

var = ('yy','bb','dlrb','glnz') print(var[1]) print(var[-2]) #元组的序列操作 # +

var1 = (1,3,5,7,9) var2 = (2,4,6,8,10) result = var1 + var2 print(result) #列表或者元组具有很多层

girls = ( ( ('小赵','小钱'), ('小李','小周') ), ( ('小吴','小郑'), ('小王','小刘') ) ) #访问多层元组中的内容

print(girls[1]) print(girls[1][1]) print(girls[1][1][0]) #元组推导式->生成器->不要则不给

var = (1,2,3,4,5,6,7,8,9) result = (i * 2 for i in var) print(result)#结果为生成器

for a in result: print(a)

 

 

猜你喜欢

转载自173806613.iteye.com/blog/2406707