gpt4 book ai didi

python - 使用 {} 从列表创建集合

转载 作者:行者123 更新时间:2023-11-28 20:40:14 24 4
gpt4 key购买 nike

有时我有一个列表,我想用它做一些设定的 Action 。我所做的是编写如下内容:

>>> mylist = [1,2,3]
>>> myset = set(mylist)
{1, 2, 3}

今天我发现,从 Python 2.7 开始,您还可以通过直接说 {1,2,3} 来定义一个集合,这似乎是一种等效的定义方式。

然后,我想知道我是否可以使用这种语法从给定列表创建一个集合。

{list} 失败,因为它试图创建一个只有一个元素的集合,即列表。列表是不可散列的。

>>> mylist = [1,2,3]
>>> {mylist}
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: unhashable type: 'list'

所以,我想知道:有没有什么方法可以使用 {} 语法而不是 set() 从列表中创建一个集合?

最佳答案

基本上它们是不等价的(表达式与函数)。将 {} 添加到 python 的主要目的是因为集合理解(如 list comprehension),您还可以通过传递一些可散列对象来使用它创建集合。

因此,如果您想使用来自可迭代对象的 {} 创建一个集合,您可以使用如下集合推导式:

{item for item in iterable}

另请注意,空括号表示 python 中的字典而不是集合。因此,如果您只想创建一个空集,正确的方法是使用 set() 函数。

关于python - 使用 {} 从列表创建集合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36198829/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com