我有一个{1>
nested_list
(我的真实[
['"1"', '"Casey"', '176544.328149', '0.584286566204162', '0.415713433795838', '0.168573132408324'],
['"2"', '"Riley"', '154860.665173', '0.507639071226889', '0.492360928773111', '0.0152781424537786'],
['"3"', '"Jessie"', '136381.830656', '0.47783426831522', '0.52216573168478', '0.04433146336956'],
['"4"', '"Jackie"', '132928.78874', '0.421132601798505', '0.578867398201495', '0.15773479640299'],
['"5"', '"Avery"', '121797.419516', '0.335213073103216', '0.664786926896784', '0.329573853793568']
]
是很长的列表)。我试图从每个子列表中提取2个数据,这就是我所做的
nested_list
这给了我numerical_list = []
child_list = []
for l in nested_list:
child_list.append(l[1])
child_list.append(float(l[2]))
numerical_list.append(child_list)
print(numerical_list)
行的list index out of range
错误。但是,如果我将child_list.append(l[1])
更改为for l in nested_list:
或长度在for l in nested_list[:4]:
内的任何范围,它就可以正常工作。这对我来说毫无意义。有人可以帮我找出问题所在吗?谢谢〜
答案 0 :(得分:0)
如果您只对前两个元素感兴趣,则一种方法是使用try... except
,另一种直接的方法是如下检查列表的长度。
这样,您仅将列表添加到第一个元素和第二个元素存在的地方。
numerical_list = []
child_list = []
for l in nested_list:
if len(l>=3):
child_list.append(l[1])
child_list.append(float(l[2]))
numerical_list.append(child_list)
print(numerical_list)