【发布时间】:2019-08-20 16:04:57
【问题描述】:
我正在尝试按字母顺序对集合进行排序。这是我正在使用的语句:
for sentence in corpus:
allword=allword.union(set(sentence.split(' ')))
allword=sorted(allword)
我收到一个错误“'list' object has no attribute 'union'”。但是,如果我删除要排序的代码,我不会收到此错误。也就是说,代码在这种情况下完全可以工作:
allword=allword.union(set(sentence.split(' ')))
但是当我添加第二行时,我得到了错误。 有人可以帮我理解为什么会出现这种奇怪的行为吗?我哪里错了?提前致谢
【问题讨论】:
-
sorted返回一个列表。但是,如果您仍然使用集合,为什么需要排序?套装没有排序。 -
你是在循环调用这些命令吗?开头
allword是set,然后sorted()会变成allword到list。第二次迭代你会得到错误 - 列表没有union()方法。 -
我需要按字母顺序获取这个集合的内容。
-
@andrej 是的..我正在循环调用
标签: python list set python-3.6