ValueError: 0 不在列表中
Posted
技术标签:
【中文标题】ValueError: 0 不在列表中【英文标题】:ValueError: 0 is not in list 【发布时间】:2020-01-23 11:11:19 【问题描述】:我是 python 新手。我对作为项目一部分的这段代码有一些问题。列表 v、h、lx 与主要数据相似。错误在第 15 行:“ValueError:0 不在列表中”。我无法理解这个错误的原因来解决这个问题。代码如下。
v = [(0,5), (2,5), (3,2), (4,2), (5,5)]
h = [(5,0), (5,2), (2,3), (2,4), (5,5)]
lx = [(0, 0), (0, 2), (0, 3), (0, 4), (0, 5), (2, 0), (2, 2), (2, 3), (2, 4), (2, 5), (3, 0), (3, 2), (4, 0), (4, 2), (5, 0), (5, 2), (5, 5)]
#ly= [(0, 0), (2, 0), (3, 0), (4, 0), (5, 0), (0, 2), (2, 2), (3, 2), (4, 2), (5, 2), (0, 3), (2, 3), (0, 4), (2, 4), (0, 5), (2, 5), (5, 5)]
ly = sorted(lx, key = lambda q : q[1])
for i in range(len(lx)):
x0 = lx[i][0]
y0 = lx[i][1]
if((x0,y0) in v or (x0,y0) in h):
continue
else:
for j in range(1, len(v)):
x1 = ly[ly.index(x0, y0) + j][0]
if ((x1,y0) in v):
continue
else:
pass
for k in range(1, len(h)):
y1 = lx[lx.index(x0,y0) + k][1]
if ((x0,y1) in h):
continue
else:
pass
print(x0,y0,x1,y1)
错误:
Traceback (most recent call last):
File "C:\Users\ASUS\Desktop\python\test2.py", line 15, in <module>
x1 = ly[ly.index(x0, y0) + j][0]
ValueError: 0 is not in list
预期输出:
0 0 2 2
0 2 2 3
0 3 2 4
0 4 2 5
.......
【问题讨论】:
【参考方案1】:index((x0, y0)) 代替 index(x0, y0)
【讨论】:
以上是关于ValueError: 0 不在列表中的主要内容,如果未能解决你的问题,请参考以下文章
ValueError: list.remove(x): x 不在列表中(但有)
当我尝试从列表中删除元素时,如何忽略 ValueError?
ValueError 在 Scikit 中找到最佳超参数时使用 GridSearchCV 学习 LogisticRegression