Python:元组列表的命名元组中的特定值

时间:2018-05-07 15:49:56

标签: python list tuples namedtuple

我想知道如果您已经知道索引路径,是否可以打印元组列表列表中的值。

1. List[i][j]
2.   list2[x][y]
3.      list3[z][w]
4.         etc.

我想做这样的事情:

str( list[i][0 [0][2 [0][0]] )

在主列表的索引i,0的列表的索引0,2处获取元组中索引0,0的值。

修改 对不起,我正在学习。控制台返回:

    [Record(items=set({'item1','item2'}),
            id=6439,
            stats=[OrderedStatistic(items_b=set({'item2'}),
                                    items_a=set({'item1'}),
                                    row=123,
                                    col=321)]),
     Record(... 

我正在寻找“行”值。我不知道它有一个名字,它没有在我的观众中显示。

编辑2:

改进。它有效,但我使用的是临时变量,因为oldList[0].stats[0].row会返回'stats' object has no attribute row

for i in range(0, len(oldList)):
    tmpList = oldList[i][2]
    newList.append('ID:\t' + str(oldList[i][1])+ '\nROW:\t' + str(tmpList[0][2])

for i in range(0, len(oldList)):
    tmpList = oldList[i][2]
    newList.append('ID:\t' + str(oldList[i][1])+ '\nROW:\t' + str(tmpList[0].row)

2 个答案:

答案 0 :(得分:0)

本例中的语法如下:

print(lst[i][0][0][2][0][0])

该嵌套结构不仅仅是元组列表的列表。如果是这种情况,那么下面的最小示例列表可以使用简单lst[0][0][0]引用'a':

lst = [[('a', 'b', 'c'), ('d', 'e', 'f')]]

答案 1 :(得分:0)

lst = [[('a', 'b', 'c'), ('d', ('e1' , 'e2'), 'f')]]示例的简单方式,您可以使用lst[0][1][1][1]到达e2,但我想您在ind_array这样的数组中有索引。在这种情况下,您可能需要执行以下操作:

ind_array = [0, 1, 1, 1]
desired_value = lst
for i in o :
    try:
        desired_value = desired_value[i]
     except IndexError:
         print('index not found.')
         break
 print(desired_value)

如果您对答案有疑问,请告诉我,否则您的索引会有所不同。