我正在学习python,我倾向于一个tuturial,set不允许可变对象,所以我认为可变对象列表?
当我尝试这个时
x = set(["Perl", "Python", "Java"])
它工作正常。
当我尝试
时cities = set((("Python","Perl"), ("Paris", "Berlin", "London")))
它也有效但我试过这个
citiess = set((["Python","Perl"], ["Paris", "Berlin", "London"]))
它给出错误?那么为什么它会给出错误,如果它是一个列表,那么为什么第一个代码在运行时也会有列表?
请不要重定向问题,例如“如何构建列表项目集”
答案 0 :(得分:3)
集合不允许使用可变元素 *,但在set(["Perl", "Python", "Java"])
中,列表不是元素。列表的元素用作新集的元素,列表的元素是不可变的。
*具体而言,是影响==
比较的方式可变的元素。