首页 > 其他 > 详细

【集合】列表生成式以及过滤器的使用

时间:2019-10-11 00:22:09      阅读:94      评论:0      收藏:0      [点我收藏+]
from random import randint

‘‘‘
    列表生成式、过滤器的使用
‘‘‘

# 1.过滤列表中的负数
# 法1
data = [randint(-10, 10) for i in range(10)]
print(data)
f_list = filter(lambda x: x >= 0, data)
print(list(f_list))

# 法2
print([i for i in data if i >= 0])

print(- * 50)
# 2.筛选成绩大于80分的
d = {str(i): randint(1, 100) for i in range(0, 50)}
print(d)
# 法1
f_dict = filter(lambda x: x > 80, d.values())
print(list(f_dict))

# 法2
print([v for v in d.values() if v > 80])

print(- * 50)
# 3.筛选出集合中能被3整除的数
l_set = set([randint(1, 100) for x in range(100)])
# 法1
print(list(filter(lambda i: i % 3 == 0, l_set)))

# 法2
print([i for i in l_set if i % 3 == 0])

运行结果

[2, 0, -9, 9, -1, -5, 7, -3, -6, 8]
[2, 0, 9, 7, 8]
[2, 0, 9, 7, 8]
--------------------------------------------------
{‘0‘: 56, ‘1‘: 25, ‘2‘: 71, ‘3‘: 56, ‘4‘: 44, ‘5‘: 13, ‘6‘: 90, ‘7‘: 2, ‘8‘: 33, ‘9‘: 16, ‘10‘: 47, ‘11‘: 12, ‘12‘: 66, ‘13‘: 48, ‘14‘: 32, ‘15‘: 41, ‘16‘: 48, ‘17‘: 62, ‘18‘: 16, ‘19‘: 100, ‘20‘: 22, ‘21‘: 57, ‘22‘: 21, ‘23‘: 92, ‘24‘: 56, ‘25‘: 7, ‘26‘: 11, ‘27‘: 33, ‘28‘: 79, ‘29‘: 31, ‘30‘: 14, ‘31‘: 85, ‘32‘: 96, ‘33‘: 28, ‘34‘: 100, ‘35‘: 44, ‘36‘: 51, ‘37‘: 84, ‘38‘: 99, ‘39‘: 19, ‘40‘: 38, ‘41‘: 41, ‘42‘: 6, ‘43‘: 8, ‘44‘: 62, ‘45‘: 78, ‘46‘: 86, ‘47‘: 4, ‘48‘: 26, ‘49‘: 63}
[90, 100, 92, 85, 96, 100, 84, 99, 86]
[90, 100, 92, 85, 96, 100, 84, 99, 86]
--------------------------------------------------
[3, 6, 15, 18, 30, 33, 36, 39, 42, 45, 54, 57, 60, 63, 72, 75, 78, 81, 84, 90, 93, 96, 99]
[3, 6, 15, 18, 30, 33, 36, 39, 42, 45, 54, 57, 60, 63, 72, 75, 78, 81, 84, 90, 93, 96, 99]

【集合】列表生成式以及过滤器的使用

原文:https://www.cnblogs.com/biexei/p/11651179.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!