python练习题-day12

2019-10-23 15:00:39 浏览数 (1)

用列表推导式做下列小题

(1) 过滤掉长度小于3的字符串列表,并将剩下的转换成大写字母

代码语言:javascript复制
lst1=["admhdja","aksaudj","fh"]
代码语言:javascript复制
li=[i.upper() for i in lst1 if len(i)>=3]
print(li)

(2)求(x,y)其中x是0-5之间的偶数,y是0-5之间的奇数组成的元祖列表

代码语言:javascript复制
tu=[(x,y) for x in range(6) for y in range(6) if x%2==0 if y%2==1]
print(tu)

(3) 求M中3,6,9组成的列表M = [[1,2,3],[4,5,6],[7,8,9]]

代码语言:javascript复制
M = [[1,2,3],[4,5,6],[7,8,9]]
li=[num for i in M for num in i if num%3==0]
print(li)

(4)求出50以内能被3整除的数的平方,并放入到一个列表中。

代码语言:javascript复制
li=[i*i for i in range(50) if i%3==0]
print(li)

(5) 构建一个列表:['python1期', 'python2期', 'python3期', 'python4期', 'python6期', 'python7期', 'python8期', 'python9期', 'python10期']

代码语言:javascript复制
li=["python {} 期".format(i) for i in range(1,11)]
print(li)

(6) 构建一个列表:[(0, 1), (1, 2), (2, 3), (3, 4), (4, 5), (5, 6)]

代码语言:javascript复制
li=[(x,x 1) for x in range(6) ]
print(li)

(7)构建一个列表:[0, 2, 4, 6, 8, 10, 12, 14, 16, 18]

代码语言:javascript复制
li=[i for i in range(20) if i%2==0]
print(li)

(8)有一个列表l1 = ['alex', 'WuSir', '老男孩', '太白']将其构造成这种列表['alex0', 'WuSir1', '老男孩2', '太白3']

代码语言:javascript复制
l1 = ['alex', 'WuSir', '老男孩', '太白']
li=[l1[i] str(i) for i in range(4)]
print(li)

(9)有以下数据类型:

代码语言:javascript复制
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]]

代码语言:javascript复制
li=[list(x['Values'][i].values()) for i in range(5)]
print(li)

0 人点赞