推导式创建序列

列表推导式:
[表达式 for item in 可迭代对象 if 条件判断]

print([x**2 for x in range(10) if x %2==0])
y = [x*2 for  x in range(1,5)]
print(y)
m = [(x*y) for x in range(1,10) for y in range(1,10)]
print(m)

字典推导式:
{key_expression : value_expression for 表达式 in 可迭代对象}
字典推导式也可以增加if条件判断、多个for循环

my_text = 'bclbdlibvhvrjnuh,hvywifhna,hbvwiujhhfhf'
char_count = {c:my_text.count(c) for c in my_text}
print(char_count)
d = {}
for c in my_text:
    n = my_text.count(c)
    d['{0}'.format(c)] = n
print(d)

集合推导式:
{key_expression for 表达式 in 可迭代对象}
推导式也可以增加if条件判断、多个for循环

b = {x for x in range(1,100) if x%9==0}
print(b)

生成器推导式(生成元组)
一个生成器只能运行一次,第一次迭代可以得到数据,第二次迭代发现数据已经没有了
元组是没有推导式的,不能用小括号

gnt = (x for x in range(4))
print(tuple(gnt))
print(tuple(gnt))
发布了11 篇原创文章 · 获赞 0 · 访问量 117

猜你喜欢

转载自blog.csdn.net/jaleya/article/details/104906013