Python 列表索引超出范围(拆分和联接)
对于上面的代码,我得到一个索引错误。我以前也发过类似的帖子。在每一步我都会得到这个索引错误。有人能帮我纠正这一点,告诉我为什么到处都是索引错误吗 我得到的错误是:Python 列表索引超出范围(拆分和联接),python,python-3.x,Python,Python 3.x,对于上面的代码,我得到一个索引错误。我以前也发过类似的帖子。在每一步我都会得到这个索引错误。有人能帮我纠正这一点,告诉我为什么到处都是索引错误吗 我得到的错误是: train_person_to_images_map = defaultdict(list) for x in train_images: train_person_to_images_map([str(x).split("\\")[-3] + "\\" + str(x).split("\\")[-2]]).append(x
train_person_to_images_map = defaultdict(list)
for x in train_images:
train_person_to_images_map([str(x).split("\\")[-3] + "\\" + str(x).split("\\")[-2]]).append(x)
val_person_to_images_map = defaultdict(list)
for x in val_images:
val_person_to_images_map([ppl]).append(x)
索引器错误回溯(最近一次调用)
在里面
2.
3对于列车图像中的x:
---->4列车人到图像地图([str(x).split(\\”[-3]+“\\”+str(x).split(\\”)
[-2]])。追加(x)
5.
6 val\u person\u to\u images\u map=defaultdict(列表)
索引器:列表索引超出范围
我会研究[-3]
和[-2]
。如果str(x).split(\\”
生成的列表长度小于3项,str(x).split(\\”[-3]
将抛出索引超出范围错误。它正在抱怨您的数据,我们对此一无所知。str(x)看起来像什么?顺便说一句,要使用defaultdict
,您必须像[this]那样使用,而不是像([this])
那样使用。使用括号可以调用函数,但defaultdict
显然不可调用。
IndexError Traceback (most recent call last)
<ipython-input-10-00482029bfdd> in <module>
2
3 for x in train_images:
----> 4 train_person_to_images_map([str(x).split("\\")[-3] + "\\" + str(x).split("\\")
[-2]]).append(x)
5
6 val_person_to_images_map = defaultdict(list)
IndexError: list index out of range