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

时间:2018-01-25 16:44:16

标签: python-3.x list valueerror

我希望有一种方法可以在使用随机选择元素后从列表中删除元素,以便不再选择它。 当我尝试运行此代码时:

import random
list1 = ['afgdddd', 'bcbvnbn', 'casretb', 'dbcbv ', 'egfhsgs']
list2 = ['a5y5546', 'brtewtwret', 'chrtyey', 'dqawtet', 'egreg']
choice1 = random.randint(0, len(list1) - 1)
x=(list2[choice1])
list1.remove(choice1)
list2.remove(x)
print(x)
print(list1[choice1])
print(list2[choice1])

然后我收到此错误:ValueError:list.remove(x):x不在列表中

1 个答案:

答案 0 :(得分:0)

list1 = ['afgdddd', 'bcbvnbn', 'casretb', 'dbcbv ', 'egfhsgs']
list2 = ['a5y5546', 'brtewtwret', 'chrtyey', 'dqawtet', 'egreg']
choice1 = random.randint(0, len(list1) - 1)

list2中的元素不在list1中。 您生成随机数并从list2获取元素,并尝试从list1中删除。错误是正确的,list2中的项目不在list1

您可以执行的操作是打印x并仅在list1

中存在时将其删除
if x in list1:
    list1.remove(x)

请注意,list.remove(param)此处的参数是除索引值以外的特定索引处的项目