使用变量从列表中删除值

时间:2012-01-21 14:56:45

标签: python variables

使用以下代码

askNumber1 = int(str(raw_input('What range of numbers do you want? Name the minimum number here.')))
askNumber2 = int(str(raw_input('Name the max number you want here.')))
number3 = askNumber2 + 1
number_list = range(askNumber1, number3)    

number4 = str(int(random.randint(askNumber1, askNumber2)))
number_list.remove(number4)
print number_list
print 'Is this your number: ' + number4 + '?'

给我错误:

  

ValueError:list.remove(x):x不在列表中

这是否可以使用在两个其他变量之间定义为随机数的变量从number_list中删除整数?或者有更简单的方法吗?

3 个答案:

答案 0 :(得分:5)

number4是一个字符串,而您的列表由整数组成,因此即使您的列表为[0,1,2,3],执行number_list.remove("2")也会导致错误2!="2"

答案 1 :(得分:1)

您的号码4是string。您需要将整数值传递给number_list.remove(number4)。这里的索引必须是integer

number4 = str(int(random.randint(1, 4)))
type(number4)

输出= <type 'str'>

String = '1'
Integer = 1
String == Integer

输出= False

答案 2 :(得分:0)

更简单的方法:

number4 = number_list.pop(random.randint(askNumber1, askNumber2))

list.pop删除返回给定列表中的项目。