如何从列表中删除所有值为5的元素

10 浏览
0 Comments

如何从列表中删除所有值为5的元素

这个问题已经有了答案

是否有一种简单的方法通过值删除列表元素?

我的代码返回“None”。

如果我取列表[1,3,4,5,5,7],我希望返回列表[1,3,4,7]。我的代码如下:

print("This program takes a list of 5 items and removes all elements of 5: ")
    list4 = []
    list4.append(input("Please enter item 1:"))  
    list4.append(input('Please enter item 2:'))  
    list4.append(input('Please enter item 3:'))  
    list4.append(input('Please enter item 4:'))
    list4.append(input('Please enter item 5:'))
    def remove_five():
        while 5 in list4:
            list4.remove(5)
    print(remove_five())

admin 更改状态以发布 2023年5月22日
0
0 Comments

你的代码输出None,因为你的函数没有return语句。

如果你这样打印,你会看到列表没有改变,因为你的列表中没有5,只有'5'(一个字符串)。

remove_fives() 
print(list4) 

如果你想添加整数而非字符串,你需要强制类型转换。

append(int(input

如果你想创建一个没有五的列表,则尝试列表理解。

no_fives = [x for x in list4 if x!=5]

或者保留输入为字符串。

no_fives = [x for x in list4 if x!='5']

0
0 Comments

这次使用列表推导可能会很方便。

num_list = [1 , 3 , 4 , 5 ,5 , 7]
num_list = [int(n) for n in num_list if int(n)!=5]
print(num_list)

输出:

[1, 3, 4, 7]

注意:对于字符串变量,可以使用强制转换,例如下面这样:

num_list = [int(n) for n in num_list if int(n)!=5]

0