如何从列表中删除内容?

时间:2019-04-04 17:39:11

标签: python list

我正在尝试编写Suduoku游戏。每次使用数字时,都需要将其从列表中删除。

我已经尝试过.pop[1],但是当数字为1时它什么也没做。

import random

rownum1 = ["1","2","3","4","5","6","7","8","9"]
print(random.choice(rownum1))

if random.choice(rownum1) == "1":
    del rownum1[0]
    print(rownum1)

如果随机选择一个,我希望输出为:

["2","3","4","5","6","7","8","9"]

但是当随机选择一个时什么也没发生。

2 个答案:

答案 0 :(得分:0)

您要选择一个随机字符串,将其打印出来,然后选择另一个字符串并将其与“ 1”进行比较!

每次调用random.choice(rownum1)时,都会得到一个新的随机字符串。正确执行操作的正确方法是将随机字符串存储在变量中:

import random

rownum1 = ["1","2","3","4","5","6","7","8","9"]
num = random.choice(rownum1) # <- store the value in a variable for later reuse
print(num)

if num == "1":
    del rownum1[0]
    print(rownum1)

答案 1 :(得分:-1)

在特定列表上执行.pop [1]的问题在于列表中的项是字符串,而1是整数。因此,您必须执行.pop(“ 1”)才能从列表中删除“ 1”。