import random
import string
lst = [random.randint(1,100) for _ in range(100)]
print(lst)
result = [x for x in lst if x > 90]
print(result)
diction = {'student%s' % random.choice(string.ascii_lowercase) : i for i in range(1,20)}
print(diction)
result = {k:v for k,v in diction.items() if v > 15}
print(result)
set = {i for i in range(1,100)}
print(set)
result = {x for x in set if x > 30}
print(result)
import collections
info = [(201610081,'张三',18),
(201610082,'李四',19),
(201610083,'王五',18),
(201610084,'申六',17)]
Student = collections.namedtuple('Students',['number','name','age'])
for i in info:
student = Student(i[0],i[1],i[2])
print(student)
因为每个 i 都是一个元组,不能直接 Student(i) 这样会报错,需要先把 i 解包,然后再输入 Student,相当于
Student( 201610081, '张三', 18)
diction = {
'zhangsan': 97,
'lisi': 64,
'wangwu': 81
}
d = [(v,k) for k,v in diction.items()] # 先把字典中的各个条目以元组的方式呈现
print(d)
print(sorted(d,reverse=True)) # 将需要排序的数放在元组中的第一个位置,利用元组排序的性质
d_new = enumerate(d,start=1) # 通过enumerate 来对列表中的每个元组分配序号
d_new = list(d_new)
diction_new = {'%s' % name: (result,position) for position,(result,name) in d_new} #重新生成新的字典
print(diction_new)
直接用sorted 方法针对字典中 item 的 key 来排序就可以
diction = {
'zhangsan': 97,
'lisi': 64,
'wangwu': 81
}
x = sorted(diction.items(),key=lambda item: item[1],reverse=True)
print(x)
lambda 针对的是字典中每一个元组 items(),key 是 item中的 item[1] 即分数的那一项