【问题标题】:How to convert words inputs to a list [duplicate]如何将单词输入转换为列表[重复]
【发布时间】:2016-02-02 21:28:56
【问题描述】:

我的作业需要这个。我正在尝试创建一个程序,在其中向用户询问一些单词。我希望将这些词列在一个列表中,这样我就可以使用.index 来调用一些词。

我尝试使用.setsorted(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


【解决方案1】:

从您最初的尝试开始,我们需要做的就是将输入转换为单词列表我们进行更多处理之前。我看到inspectorG4dget 已经为此提供了单行解决方案——确保对他的评论投赞成票。如果您将“words =”替换为“print”,那么整个程序就完成了。更接近您的条件是此代码:

x = raw_input ("insert numbers")
word_list = x.split(' ')
set = set(word_list)
result = list(set)
result.sort()
print result

@inspectorG4dget,如果您愿意将您的解决方案作为解释性回复发布,我很乐意为您删除此帖子:您的评论是在我编辑问题时出现的。

【讨论】:

  • @-replies 在 cmets 或聊天之外不起作用。以后不用担心被cmets“偷”了;对于完全不关心对话内容的读者,最好让你的答案直截了当(尽管在这种情况下,这是一个骗局,并不值得回答)
猜你喜欢
  • 2020-04-02
  • 1970-01-01
  • 2015-05-25
  • 2021-03-30
  • 2019-12-02
  • 1970-01-01
  • 2020-05-29
  • 1970-01-01
  • 2018-08-15
相关资源
最近更新 更多