一,列表推导式总共有两种形式:
①[x for x in data if condition]
此处if主要起条件判断作用,data数据中只有满足if条件的才会被留下,最后统一生成为一个数据列表
②[exp1 if condition else exp2 for x in data]
此处if…else主要起赋值作用,当data中的数据满足if条件时将其做exp1处理,否则按照exp2处理,最后统一生成为一个数据列表
a=[1,2,3,4,5,6,7,8]
#若是奇数就放到odd_num中去
odd_num = [i for i in a if i%2!=0 ]
#若是奇数就放进去,若是偶数就是平方
nums = [i if i%2!=0 else i*i for i in a]
print(odd_num)
print(nums)
#[1, 3, 5, 7]
#[1, 4, 3, 16, 5, 36, 7, 64]
二,一个小编程题:
题目要求:
代码如下:
def get_unique3():
txtfile = open('aaa.txt','r')
lines = txtfile.read().split('\n')
lines = [line.split('\t') for line in lines]
txtfile.close()
all_lines = []
setline = set()
for line in lines:
if(line[0] in setline):
continue
else:
setline.add(line[0])
all_lines.append(line)
result = sorted(all_lines,key=lambda x:x[1],reverse=True)
result = sorted(result, key=lambda x: x[2], reverse=True)
for i in result:
print(i)