我是编码的新手,我从表格的列中提取了数据,如下所示
print(column3)
x; y
x; y
x
x; y; z
x
x; y
然后我将字符串拆分为&#39 ;; '
column_elements = column3.split('; ')
print(column_elements)
['x', 'y']
['x', 'y']
['x']
['x', 'y', 'z']
['x']
['x', 'y']
所以当我尝试使用
打印时y = (column_elements[1])
由于并非所有列表的长度都超过[0],因此出现错误。我不是 确定如何从不同列表长度的数据集中获取每个元素。
答案 0 :(得分:3)
不要使用直接索引,对列表的元素使用for
:
l = [[0],[1,2,3],[5,2]]
for elem in l:
for num in elem:
print(num)
或(不太好,不需要,从不这样做)使用len
来获取内部列表的长度(从0开始到len(l)-1是索引):
for idx in range(len(l)): # len(l) == 3, range(len(l)) == [0,1,2]
for idx2 in range(len(l[idx])): # len of the sublist
print(l[idx][idx2])
输出(两者):
0
1
2
3
5
2
如果您真的需要索引值,请使用enumeration并分解索引和值:
for idx, val in enumerate(l): # yields you (0,[0]), (1,[1,2,3]), (2,[5,2])
print(f"Index: {idx} with {val}")
输出:
Index: 0 with [0]
Index: 1 with [1, 2, 3]
Index: 2 with [5, 2]