以下代码如下所示:
0
输出:
A
B
C
D
{1}
期望。但是,当我使用y=set()
y.update([1])
x=map(chr, [65, 66, 67, 68])
for ch in x:
print(ch)
print(y)
地图对象更新y
集时,它会破坏地图对象。此处显示为以下代码:
x
输出:
{'C',1,'D','A','B'}
当我的预期输出是这样时:
A
B
C
D
{'C',1,'D','A','B'}
变量x不再存在并销毁了?
有人可以解释一下吗?
以及更新y=set()
y.update([1])
x=map(chr, [65, 66, 67, 68])
y.update(x)
for ch in x:
print(ch)
print(y)
集后如何保留x
地图对象?
答案 0 :(得分:3)
在Python 2中,map
将返回一个列表。在Python 3中,它返回一种特殊的对象,该对象只能被迭代一次。
如果要多次迭代,可以将其转换为列表。
x = list(map(chr, [65, 66, 67, 68]))