Python 集合构造函数语法

标签 python

有人知道这种令人困惑的集合构造语法的理由吗?我花了一天时间没找到这个bug,因为我在构造集合时漏掉了一个逗号。

> {1 2} 
SyntaxError: invalid syntax  # This makes sense.
> {'a' 'b'} = set(['ab'])    # This does not.

最佳答案

那不是集合构造语法的东西。您遇到了隐式字符串文字连接,这是语言的一个令人困惑和令人惊讶的角落:

>>> 'a' 'b'
'ab'

如果您将两个字符串文字并排写入,它们将隐式组合为一个字符串。 (这仅适用于文字;str(3) str([]) 是语法错误,而不是 '3[]'。)

关于Python 集合构造函数语法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24458920/

相关文章:

python - 如何在 for 循环中堆叠多个 pandas DataFrame

python - 从列表中查找 pandas 列与另一列的唯一组合

python - 线程目标函数的返回不会导致线程退出

python - 使用 Python 和 Pandas 抓取数据

python - 将 N x 4 pandas 数据框重新排序为 N x 2,以便将三重数据集排列成一个 x 列和一个 y 列

python - Tinyurl 自定义别名的语法?

python - Pandas:计算数据帧每列的一组n个值的平均值

python - Django QuerySet 的嵌套字典

python - 已指定检测参数(argparse)

python - 如何创建一个字符串矩阵作为行列并在 python 中存储 CSV 中的计数?