如何在python中将枚举对象转换为set和tuple?

2024-04-20 07:35:34 发布

您现在位置:Python中文网/ 问答频道 /正文

如何在python中将枚举对象转换为set和tuple?你知道吗

grocery = ['bread', 'milk', 'butter']
enumerateGrocery = enumerate(grocery)
print(type(enumerateGrocery))
print(set(enumerateGrocery)) # returning set()
print(tuple(enumerateGrocery))# returning ()

Excepted output:-
{(0, 'bread'), (1, 'milk'), (2, 'butter')}
((0, 'bread'), (1, 'milk'), (2, 'butter'))

Tags: 对象outputtype中将returningprintsettuple
3条回答

enumerate返回第一个使用者(即set构造函数)耗尽的迭代器。例如:

grocery = ['bread', 'milk', 'butter']
enumerateGrocery = enumerate(grocery)  
print(type(enumerateGrocery))

t = tuple(enumerateGrocery)  # tuple first, to maintain order
# now, enumerateGrocery is exhausted (empty)
s = set(t)  # just use the tuple that now contains all the elements
print(s) 
print(t)

enumerate函数是一个生成器,这意味着您必须对它进行迭代才能从中获取项。一个快速的方法是使用这样的集合理解:

grocery = ['bread', 'milk', 'butter']
{(i, x) for i, x in enumerate(grocery)}

第一个示例输出无效。无论如何:

tuple(((i,v) for i, v in enumerate(grocery)))

或者只是

tuple(enumerate(grocery))

相关问题 更多 >