gpt4 book ai didi

python - 从列表中删除值,只留下唯一值

转载 作者:太空宇宙 更新时间:2023-11-04 08:08:23 25 4
gpt4 key购买 nike

所以,基本上我需要的是编写一个程序,让用户键入一个整数列表,将它们存储在另一个值仅为 1-100 的列表中,并显示结果列表。我的问题是我的程序并没有删除我需要的所有值,我需要从列表中删除 1-100 范围之外的所有值。我的标题没有任何借口,但我不确定如何称呼这个问题。

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

x = inputnumber()
for i in x:
if i > 100 or i < 1:
x.remove(i)
y = list(set(x))
print(y)

我的意思是当我输入数字列表 [5, -10, 22, 133, 16, 0, 103, 100, -60] 时,我得到的结果是 [16, 100, 5, 22, 103] - 103应该离开那里。当我键入 list [5, -10, -15, -20, -60, 103, 108, 10] 时,我得到 [-15, 10, -60, 5, 108] - 我应该得到 [10, 5 ] 仅有的。也许我应该寻找其他功能,而不是“删除”,或者有没有办法删除所有功能?

最佳答案

改变:

y = list(set(x))

收件人:

y = list(set(filter(lambda e: 1 <= e <= 100, x)))

这在构造集合之前使用 filter 过滤 x

或:

y = list(set([e for e in x if e in range(1, 101)]))

这使用列表理解来过滤您不感兴趣的值,并使用这些值构造 set

关于python - 从列表中删除值,只留下唯一值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27469242/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com