如何将值列表添加到现有集?
当前回答
希望这能有所帮助:
>>> seta = set('1234')
>>> listb = ['a','b','c']
>>> seta.union(listb)
set(['a', 'c', 'b', '1', '3', '2', '4'])
>>> seta
set(['1', '3', '2', '4'])
>>> seta = seta.union(listb)
>>> seta
set(['a', 'c', 'b', '1', '3', '2', '4'])
其他回答
集合不能有可变的元素/成员。列表是可变的,不能是集合的成员。
因为集合是可变的,所以你不能拥有集合的集合! 不过你可以买一套冷冻套装。
(同样的“可变性要求”也适用于字典的键。)
其他答案已经给出了代码,我希望这能给你一些启发。 我希望亚历克斯·马特利能给出更多细节。
列表对象是不可哈希的。你可能想把它们转换成元组。
您将希望使用可哈希的元组(不能像列表那样对可变对象进行哈希)。
>>> a = set("abcde")
>>> a
set(['a', 'c', 'b', 'e', 'd'])
>>> t = ('f', 'g')
>>> a.add(t)
>>> a
set(['a', 'c', 'b', 'e', 'd', ('f', 'g')])
我通常是这样做的:
def add_list_to_set(my_list, my_set):
[my_set.add(each) for each in my_list]
return my_set
尝试使用* unpack,如下所示:
>>> a=set('abcde')
>>> a
{'a', 'd', 'e', 'b', 'c'}
>>> l=['f','g']
>>> l
['f', 'g']
>>> {*l, *a}
{'a', 'd', 'e', 'f', 'b', 'g', 'c'}
>>>
非编辑器版本:
a=set('abcde')
l=['f', 'g']
print({*l, *a})
输出:
{'a', 'd', 'e', 'f', 'b', 'g', 'c'}
推荐文章
- Python 3.7数据类中的类继承
- 如何在PyTorch中初始化权重?
- 计数唯一的值在一列熊猫数据框架像在Qlik?
- 使用Pandas将列转换为行
- 从matplotlib中的颜色映射中获取单个颜色
- 将Pandas或Numpy Nan替换为None以用于MysqlDB
- 使用pandas对同一列进行多个聚合
- 使用Python解析HTML
- django MultiValueDictKeyError错误,我如何处理它
- 如何在for循环期间修改列表条目?
- 我如何在Django中创建一个鼻涕虫?
- 为什么java.util.Set没有get(int index)?
- 数组与列表的性能
- 没有名为'django.core.urlresolvers'的模块
- 蟒蛇导出环境文件