day13——生成器

day13作业默写
1,整理今天的博客,写课上代码,整理流程图。
2,用列表推导式做下列小题
(1)过滤掉长度小于3的字符串列表,并将剩下的转换成大写字母
li = [i.upper() for i in ['dfsf','fskjf','fs','f'] if len(i) < 3]
print(li)


(2)求(x,y)其中x是0-5之间的偶数,y是0-5之间的奇数组成的元祖列表
li = [(x,y) for x in range(0,6) for y in range(0,6) if x % 2 == 0 if y % 2 == 1]
print(li)


(3)求M中3,6,9组成的列表
M = [[1,2,3],[4,5,6],[7,8,9]]
li = [i[-1] for i in M]
print(li)


(4)求出50以内能被3整除的数的平方,并放入到一个列表中。
li = [i*i for i in range(50) if i % 3 == 0]
print(li)


(5)构建一个列表:['python1期', 'python2期', 'python3期', 'python4期', 'python6期', 'python7期', 'python8期', 'python9期', 'python10期']
li = ['python%s期'%i for i in range(1,11)]
print(li)


(6)构建一个列表:[(0, 1), (1, 2), (2, 3), (3, 4), (4, 5), (5, 6)]
li = [(x,y) for x in range(6) for y in range(7) if x == y - 1]
print(li)


(7)构建一个列表:[0, 2, 4, 6, 8, 10, 12, 14, 16, 18]
li = [i for i in range(19) if i % 2 == 0]
print(li)


(8)有一个列表l1 = ['alex', 'WuSir', '老男孩', '太白']将其构造成这种列表['alex0', 'WuSir1', '老男孩2', '太白3']
l1 = ['alex', 'WuSir', '老男孩', '太白']
li = [l1[i] + str(i) for i in range(len(l1))]
print(li)


(9)有以下数据类型:
x = {
'name':'alex',
'Values':[{'timestamp':1517991992.94,
'values':100,},
{'timestamp': 1517992000.94,
'values': 200,},
{'timestamp': 1517992014.94,
'values': 300,},
{'timestamp': 1517992744.94,
'values': 350},
{'timestamp': 1517992800.94,
'values': 280}
],}
将上面的数据通过列表推导式转换成下面的类型:
[[1517991992.94, 100], [1517992000.94, 200], [1517992014.94, 300], [1517992744.94, 350], [1517992800.94, 280]]

li = [[x['Values'][i]['timestamp'],x['Values'][i]['values']]for i in range(len(x['Values']))]
print(li)


lst=[[i['timestamp'],i['values']] for i in x['Values']]
print(lst)





猜你喜欢

转载自www.cnblogs.com/-li926/p/9483779.html