python - 使用 set() 或 {} 创建集合的区别

标签 python

这种差异让我感到困惑:

>>> s = "()())()"
>>> print set(s)

set([')', '('])

>>> print {s}

set(['()())()'])

为什么?

最佳答案

来自Python documentation对于 set() 方法:

Return a new set object, optionally with elements taken from iterable.

由于字符串是可迭代的,set() 方法创建给定字符串中所有字符的集合。但是,由于集不允许重复值,因此输出是一个包含字符串中两个唯一字符的集:')''('

另一方面,简写语法 {s} 会在大括号之间创建一个包含所有项目的集合。由于您只插入了一项 s(您的字符串),因此输出是仅包含一项的集合。

关于python - 使用 set() 或 {} 创建集合的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53918325/

相关文章:

python - 在没有 virtualenv 激活的情况下运行脚本

python - Redis - 爬虫访问过的站点列表

python - HTTP POST Azure 中的授权 header [错误代码 401]

python - 模型保存方法。保存前调整图像大小

python - Pandas Dataframe 根据日期过滤行

python - Django Rest框架 View 集方法返回HTTP 405方法不允许

python "Class has no attribute"

python - 调用了意外版本的 python3

python - 如何在 python 中绕过 sys.exit() 的 0-255 范围限制?

python - SageMaker 线性学习器结果不准确?