Python 列表推导式 问题
list1=list(range(5))print(list1)list2=list1+[iforiinrange(10)ifi%2==0]print(list2)lis...
list1 = list(range(5))
print(list1)
list2 = list1 + [i for i in range(10) if i % 2 == 0]
print(list2)
list3 = list1 + ['zzz' + str(i for i in range(5))]
print(list3)
为什么list1和list2都能正常输出,结果为:
[0, 1, 2, 3, 4]
[0, 1, 2, 3, 4, 0, 2, 4, 6, 8]
而输出list3时则会给出如下提示:
'zzz<generator object <genexpr> at 0x0000000004B70D58>'
请问原因(原理是什么),如何解决?谢谢! 展开
print(list1)
list2 = list1 + [i for i in range(10) if i % 2 == 0]
print(list2)
list3 = list1 + ['zzz' + str(i for i in range(5))]
print(list3)
为什么list1和list2都能正常输出,结果为:
[0, 1, 2, 3, 4]
[0, 1, 2, 3, 4, 0, 2, 4, 6, 8]
而输出list3时则会给出如下提示:
'zzz<generator object <genexpr> at 0x0000000004B70D58>'
请问原因(原理是什么),如何解决?谢谢! 展开
1个回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询