【发布时间】:2016-02-02 21:28:56
【问题描述】:
我的作业需要这个。我正在尝试创建一个程序,在其中向用户询问一些单词。我希望将这些词列在一个列表中,这样我就可以使用.index 来调用一些词。
我尝试使用.set 或sorted(set())。它适用于数字,但不适用于文字。例如:
x = list (raw_input ("insert numbers"))
set = set(x)
result = list(set)
result.sort()
print result
由此,我得到了一些不错的结果。如果我输入数字,我会得到我期望的输出:
insert numbers 817654
[' ', '1', '4', '5', '6', '7', '8']
如果我输入单词,它会对字母进行排序:
insert numbers now i will a rhyme construct ...
[' ', '.', 'a', 'c', 'e', 'h', 'i', 'l', 'm', 'n', 'o', 'r', 's', 't', 'u', 'w', 'y']
我想要的输出是
['a', 'construct', 'i', 'now', 'rhyme', 'will']
【问题讨论】:
-
请贴一些你尝试过的代码
-
感觉你没用过
.split()。但正如其他人所说,请编辑您的帖子以包含您尝试过的输入示例,以及这些输入的预期输出 -
x = list (raw_input ("insert numbers")) set = set(x) result = list(set) result.sort() 打印结果这对我有用......数字,不管我如何输入它们......我的问题......我可以用文字来做到这一点吗?
-
正如@inspectorG4dget 所说,在您的
raw_input调用上使用.split()方法而不是list,您将拥有x 是输入中的单词列表 -
words = sorted(set(raw_input("Enter words: ").split()))
标签: python list indexing set sorted