Python'set'对象不支持索引

时间:2012-01-19 01:53:14

标签: indexing append typeerror

我正在使用Python(3.2.2)shell中的Windows 7操作系统。试图学习我输入的语言并返回以下内容:

>>> cast = {
    'cleese',
    'Palin',
    'Jones',
    'Idle'
    }
>>> print (cast[1])
Traceback (most recent call last):
  File "<pyshell#12>", line 1, in <module>
    print (cast[1])
TypeError: 'set' object does not support indexing
>>> cast.append('Gilliam')
Traceback (most recent call last):
  File "<pyshell#13>", line 1, in <module>
    cast.append('Gilliam')
AttributeError: 'set' object has no attribute 'append'

==========================

似乎问题不在编码中,而在于程序的安装方式。

我已经安装,卸载并再次安装,但是resutl是相同的。在Python的shell准备好使用之前,我需要做些什么吗?

汉斯

3 个答案:

答案 0 :(得分:19)

Python似乎工作得很好。关键是set不支持索引或追加。请尝试使用列表([]而不是{})。 <{1}}代替追加set,但索引已经结束。

Python提供了有用的帮助,

add

打印了很多关于>>> help(set) s。

的信息

答案 1 :(得分:4)

您似乎在尝试定义列表。但是,您使用大括号{}而不是方括号[]。解释器将其视为字典而不是列表,因此索引和追加()在这里不起作用。

答案 2 :(得分:2)

在这里提一下,set's'不支持索引,因为它们是基于散列的,它与dictionaries非常相似,它也不支持索引。您只能通过dict访问key

如果您需要建立索引,可以按如下方式转换您的设置:

convertedToList = list(set(1,2,3))