Neil_Python_2018.9.18.作业

  1 (1)过滤掉长度小于3的字符串列表,并将剩下的转换成大写字母
  2 l = ['awdasd','qq','a','rrr','aasd','b','l','Neil','Adal','Evan']
  3 lst = [i.upper() for i in l if len(i) >= 3]     #先遍历列表拿到每一项 i 然后len(i),知道 i 的长度, 然后判定 i 的长度大于等于3添加到新列表,长度小于 3 的不要
  4 print(lst)
  5 print([i.upper() for i in l if len(i) >= 3])    #这里就厉害了,直接打印,相当于自动创建新列表
  6 
  7 (2)求(x,y)其中x是0-5之间的偶数,y是0-5之间的奇数组成的元祖列表
  8 x = [x for x in range(2,6,2)]
  9 y = [y for y in range(1,6,2)]
 10 print((x,y))
 11 
 12 x,y = [x for x in range(2,6,2)],[y for y in range(1,6,2)]  # Mr. Zhang 投机的写法,不可取,应该写算法
 13 print((x,y))
 14 
 15 x = [x for x in range(1,5) if x %2 == 0]
 16 y = [y for y in range(1,6) if y %2 == 1]
 17 print((x,y))
 18 
 19 x,y = [x for x in range(1,6) if x %2 == 0],[y for  y in range(1,6) if y %2 == 1] #这才是正儿八经的写法
 20 print((x,y))
 21 
 22 
 23 (3)求M中3,6,9组成的列表M = [[1,2,3],[4,5,6],[7,8,9]]
 24 M = [[1,2,3],[4,5,6],[7,8,9]]
 25 print([m[2] for m in M])       #m[2] 是取m里的,即每一个小列表里面的第二个值
 26 
 27 (4)求出50以内能被3整除的数的平方,并放入到一个列表中。
 28 lst = []                #先创建一个新列表,一会把结果存入
 29 for i in range(50):     #循环,取0-50每一个数字
 30     if i % 3 == 0:       #让循环的每一个数字整除三,如果余剩零即能被三整除
 31         i  = i*i           #让能被三整除的每一个数字自己乘以自己即平方,二次方
 32         lst.append(i)       #得出的结果添加到列表中
 33 print(lst)                  #打印列表
 34 
 35 lst = [i*i for i in range(50) if i % 3 == 0]
 36 print(lst)
 37 
 38 print([i**2 for i in range(50) if i % 3 == 0])
 39 
 40 
 41 (5)构建一个列表:['python1期', 'python2期', 'python3期', 'python4期', 'python6期', 'python7期', 'python8期', 'python9期', 'python10期']
 42 lst = []                            #据题意,创建一个新列表以存放数据
 43 for i in range(1,11):               #循环,取数字1-10
 44     lst.append('Python %s 期'% i)    #把取到的每一个数字循环添加到句式中,再带入新的列表中
 45 print(lst)                              #打印列表
 46 
 47 lst = ['Python %s 期'% i for i in range(1,11)]
 48 print(lst)
 49 
 50 print(['Python %s 期'% i for i in range(1,11)])
 51 
 52 (6)构建一个列表:[(0, 1), (1, 2), (2, 3), (3, 4), (4, 5), (5, 6)]
 53 print([(i, i + 1) for i in range(6)])
 54 
 55 lst = []
 56 for i in range(6):
 57     lst.append((i,i+1))
 58 print(lst)
 59 
 60 lst = [(i, i + 1) for i in range(6)]
 61 print(lst)
 62 
 63 
 64 (7)构建一个列表:[0, 2, 4, 6, 8, 10, 12, 14, 16, 18]
 65 lst = []
 66 for i in range(0,20,2):
 67     lst.append(i)
 68 print(lst)
 69 
 70 lst = []
 71 for i in range(20):
 72     if i %2 == 0:
 73         lst.append(i)
 74 print(lst)
 75 
 76 lst = [i for i in range(0,20,2)]
 77 print(lst)
 78 
 79 print([i for i in range(20) if i %2 == 0])
 80 
 81 print([2*i for i in range(10)])
 82 
 83 (8)有一个列表l1 = ['alex', 'WuSir', '老男孩', '太白']将其构造成这种列表['alex0', 'WuSir1', '老男孩2', '太白3']
 84 l1 = ['alex', 'WuSir', '老男孩', '太白']
 85 print([l1[i]+str(i) for i in range(len(l1))])
 86 
 87 l2 = [l1[i]+str(i) for i in range(len(l1))]
 88 print(l2)
 89 
 90 
 91 l2 = []
 92 for i in range(len(l1)):
 93     l2.append(l1[i]+str(i))
 94 print(l2)
 95 
 96 
 97 (9)有以下数据类型:
 98 x = {
 99     'name':'alex',
100     'Values':[{'timestamp':1517991992.94,
101          'values':100,},
102         {'timestamp': 1517992000.94,
103         'values': 200,},
104         {'timestamp': 1517992014.94,
105          'values': 300,},
106         {'timestamp': 1517992744.94,
107          'values': 350},
108         {'timestamp': 1517992800.94,
109          'values': 280}
110       ],}
111 将上面的数据通过列表推导式转换成下面的类型:
112 [[1517991992.94, 100], [1517992000.94, 200], [1517992014.94, 300], [1517992744.94, 350], [1517992800.94, 280]]
113 
114 x = {
115     'name':'alex',
116     'Values':[{'timestamp':1517991992.94,
117          'values':100,},
118         {'timestamp': 1517992000.94,
119         'values': 200,},
120         {'timestamp': 1517992014.94,
121          'values': 300,},
122         {'timestamp': 1517992744.94,
123          'values': 350},
124         {'timestamp': 1517992800.94,
125          'values': 280}
126       ],}
127 
128 print([list(m.values()) for m in x['Values']])

猜你喜欢

转载自www.cnblogs.com/wblilei/p/9671227.html