将单个字符串存储到集合中

时间:2018-08-02 02:28:18

标签: python python-3.x

我的问题在最后一句话,这是一个简短的介绍。我搜索了将一个元素放在一组中的不同方法,这些方法都在互联网上。例如,

set1 = {"String"}

set1 = set()
set1.add("String")

您可能已经知道使用以下方式给出一组字母

set1 = set("String") 
#{'S','t','r','i','n','g'}

解决方案将是

set1 = set(["String"])

我的问题是:幕后发生了什么?为什么这种方法可以解决问题?

2 个答案:

答案 0 :(得分:2)

在Python中,字符串是一种序列类型,其元素只是其各个字符。由于set()构造函数采用序列并将其元素转换为其设置项,因此将字符串传递给set()构造函数将创建一组字符串的各个字符。如果您要使用一组字符串,则需要将{string}传递给set()构造函数,以避免将字符串本身视为序列。

答案 1 :(得分:1)

set构造函数不带任何内容或可迭代。 python中的字符串是可迭代的:

>>> [c for c in "string"]
['s', 't', 'r', 'i', 'n', 'g']

通过将字符串放入另一个可迭代的字符串中,例如一个列表-["string"]set将构造一个包含列表唯一元素的集合。