Python 我如何排序、去除数字和组织?
如果我要求某人输入值:Python 我如何排序、去除数字和组织?,python,python-3.x,Python,Python 3.x,如果我要求某人输入值: value = input("List numbers: ") 我想组织它: 用户输入=1,2,3,2 然后得到一个1,2,3的print(),这样就不需要额外的数字了 我该怎么做呢? 而且 我将如何组织它们? 例如,2 1 4 3 5并获得1 2 3 4 5的print()似乎您正在查找已排序的唯一数字列表。您可以使用sorted(set(map(int,value.split(“,”)))来获得它。请参阅演示- >>> value = raw_in
value = input("List numbers: ")
我想组织它:
用户输入=1,2,3,2
然后得到一个1,2,3的print(),这样就不需要额外的数字了我该怎么做呢?
而且 我将如何组织它们?
例如,2 1 4 3 5并获得1 2 3 4 5的print()似乎您正在查找已排序的唯一数字列表。您可以使用
sorted(set(map(int,value.split(“,”)))
来获得它。请参阅演示-
>>> value = raw_input("List numbers: ")
List numbers: 2, 1, 4, 3, 5, 3, 2, 4, 1
>>> sorted(set(map(int, value.split(','))))
[1, 2, 3, 4, 5]
value.split(',')
在',
上拆分输入列表,从而返回字符串列表map(int,…)
将上述列表中的每个条目转换为整数set(…)
对上述列表进行设置,从而消除任何重复项sorted(…)
对集合进行排序并生成列表join(…)
方法将其转换回字符串。例如,如果您想用,'
分隔它们,您可以这样做
>>> ", ".join(map(str, sorted(set(map(int, value.split(',')))))) # Or use an equivalent List Comprehension.
'1, 2, 3, 4, 5'
这里有一个逐步的指南
- 接受输入
- 分门别类
- 将元素转换为整数
- 删除重复项
- 对列表进行排序
此代码要求用户使用逗号分隔值。这可以更改 要对字符串执行相同的操作,请尝试以下操作
input = raw_input("Please enter your words separated by commas: ")
inputList = input.split(',') # creates a list from comma delimeters
uniqueList = set(inputList) # removes duplicates
sortedList = sorted(uniqueList) # converts to ints and sorts
您忘记了一个步骤;您的输入仍然是字符串。在修复输入错误后,请尝试使用:
“2 100 4 3 5”
您认为OP需要ASCII字典顺序?这似乎不太可能。如果不转换为整数,您将无法正确排序。请尝试排序(['5',10'])
。是否可以使用相同的代码对单词进行排序?要处理任意数量的空格,您可以在上拆分,“
并剥离结果。在这种情况下,不需要剥离空格,int(…)
将处理它。:)哦,嘿,是的。很好。@Stephan,我是编程新手,所以使用您的指南可以帮助我想象我需要做什么,看到您的示例回答了我的问题。
input = raw_input("Please enter your words separated by commas: ")
inputList = input.split(',') # creates a list from comma delimeters
uniqueList = set(inputList) # removes duplicates
sortedList = sorted(uniqueList) # converts to ints and sorts