我刚刚在Python 3.5中做了一些随机的事情。 有15分钟的业余时间,我想出了这个:
a = {"a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w",
"x", "y", "z"}
len_a = len(a)
list = list(range(0, len_a))
message = ""
wordlist = [ch for ch in message]
len_wl = len(wordlist)
for x in list:
print (a[x])
但令人满意的随机成功的感觉并没有超过我。 相反,失败的感觉确实:
Traceback (most recent call last):
File "/Users/spathen/PycharmProjects/soapy/soup.py", line 9, in <module>
print (a[x])
TypeError: 'set' object does not support indexing
请帮忙
答案 0 :(得分:5)
尝试使用方括号:
a = ["a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w",
"x", "y", "z"]
即:使用list
代替set
答案 1 :(得分:4)
正如错误消息所示,SELECT column_name(s)
FROM table_name
WHERE column_name IN (value1, value2, ....);
确实不支持索引,set
是a
,因为您使用了set literals(大括号)来指定其元素(从Python开始可用) 3.1)。但是,要从集合中提取元素,您可以简单地迭代它们:
set
答案 2 :(得分:0)
尝试像这样修改你的代码。
a = {"a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m",
"n", "o", "p", "q", "r", "s", "t", "u", "v", "w",
"x", "y", "z"}
list_a = list(a)
len_a = len(a)
list = list(range(0, len_a))
message = ""
wordlist = [ch for ch in message]
len_wl = len(wordlist)
for x in list:
print list_a[x]
set不支持索引,但是list支持它,所以这里我将set转换为list并获取list的索引。
答案 3 :(得分:0)
@Sakib,你的集合a
已经可以迭代了。请考虑使用此更新代码,而不是按索引访问元素。
a = {"a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z"}
for x in a:
print ( x )
此外,您的代码没有足够的意图帮助您实现最终目标。 例子:
range()
也会返回一个可迭代类型,因此没有理由将其转换为list
list
关键字是不好的做法,这样做会导致更多问题len_wl
尚未达到目的wordlist
和message
都没有目的希望这有帮助
PS - 别忘了选择答案