如果我要求某人输入值:
value = input("List numbers: ")
我想组织它:
用户输入= 1,2,3,2
并获得1,2,3的print()作为结果 - 摆脱额外的数字
我该怎么做呢?
并且
我该如何组织它们?
例如2 1 4 3 5并获得1 2 3 4 5的打印()
答案 0 :(得分:5)
您似乎正在寻找已排序的唯一数字列表。您可以使用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'
答案 1 :(得分:3)
以下是
的分步指南input = raw_input("Please enter your numbers separated by commas: ")
inputList = input.split(',') # creates a list from comma delimeters
intList = [int(i) for i in inputList] # converts to int list
uniqueList = set(intList) # removes duplicates
sortedList = sorted(uniqueList) # converts to ints and sorts
此代码要求用户使用逗号分隔值。这可以改变。
用字符串做同样的事情试试这个
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