如何解决值错误:不在列表中
我是 Python 初学者,从列表中获取索引时遇到了一些问题。
这是我的代码:
color=['red','green','yellow','blue','grey']
gg=random.sample(color,1)
print(gg)
jj=(farba.index(gg))
我得到了什么:
['green']
ValueError: ['green'] is not in list
有人可以帮我吗?
解决方法
gg
是一个列表,而不是一个字符串。列表 ['green']
不在 color
中,字符串 'green'
在。尝试使用 random.choice()
而不是 sample()
。
根据python docs:
返回从种群序列或集合中选择的唯一元素的 k 长度列表。用于无替换随机抽样。
因此,random.sample
返回一个列表。你可以得到列表的第一项:
color = ['red','green','yellow','blue','grey']
gg = random.sample(color,1)[0]
print(gg)
jj = farba.index(gg)
或者,使用 random.choice
:
从非空序列 seq 中返回一个随机元素。如果 seq 为空,则引发 IndexError。
color = ['red','grey']
gg = random.choice(color)
print(gg)
jj = farba.index(gg)
注意:我还重新格式化了代码以使其更具可读性。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。