Python 列表中来自其他列表的唯一值

Python 列表中来自其他列表的唯一值,python,Python,正在搜索解决方案,但找不到任何解决方案。我需要创建一个程序,提示用户输入整数列表,在另一个列表中只存储唯一的整数(例如1到10),并显示结果列表。现在我有一个程序,它只复制完整的列表并打印它,而不排序整数: def inputnumber(): numbers = input('Enter number(s): ').split(',') return [int(i) for i in numbers] x = inputnumber() y = x[:] print(y)

正在搜索解决方案,但找不到任何解决方案。我需要创建一个程序,提示用户输入整数列表,在另一个列表中只存储唯一的整数(例如1到10),并显示结果列表。现在我有一个程序,它只复制完整的列表并打印它,而不排序整数:

def inputnumber():
    numbers = input('Enter number(s): ').split(',')
    return [int(i) for i in numbers]

x = inputnumber()
y = x[:]
print(y)

对不起,伙计们,我只是一个初学者,只是尝试一切。我应该使用del函数吗?还有另一种方法吗?

您可以尝试将列表转换为集合

def inputnumber():
    numbers = input('Enter number(s): ').split(',')
    return [int(i) for i in numbers]

x = inputnumber()
y = set(x)
print(y)
正如@khelwood所提到的,集合只包含唯一的值,这意味着所有重复项都将被删除


还请记住,集合不是按顺序排列的,因此数字可能以混合顺序显示。

您可以使用
set
删除重复:

def inputnumber():
    numbers = input('Enter number(s): ').split(',')
    return set([int(i) for i in numbers])

请注意,如果仅使用
设置
,则不会得到
列表
,而是另一种类型,因此必须将其设置为:

MyList = list(set(something))

转换成。集合只保存唯一的值。总是会有膝跳,将准定值定为负值,或者我问错了?我刚刚开始学习列表、序列和元组。从没听说过布景function@Dinozauras你花点时间怎么样?布景很有趣!学习编程语言中帮助您解决问题的新构造也是如此。现在我完全困惑了,因为我从来没有听说过这个集合,仍然不确定如何获得唯一值(与s.remove或s.discard函数有关吗?)列表是一组项(本例中的数字)它会保存这些项目的顺序。如果添加1、2和3;你将得到1 2 3在相同的顺序。但是,集合仅包含唯一的项。如果您试图添加重复项,它只会丢弃它们。缺点是集合不记得项目添加到集合中的顺序。因此,如果该用户在被要求输入1、11、22、6、5(当我运行程序时)时输入,我需要程序给出[1、6、5]的结果。这真的是关键吗?如果是这样,我会开始寻找正确的答案