访问字典键元组的各个元素

时间:2018-12-08 23:08:07

标签: python list dictionary

考虑下面的代码段-

getElementById

给我

list1 = [1,2,3,4]
list2 = [1,2,3,4]
list3 = ['a','b','c','d']
dct = dict(zip(zip(list1,list2),list3))
print(dct)

现在,

{(1, 1): 'a', (2, 2): 'b', (3, 3): 'c', (4, 4): 'd'}

给我,

print(dct.keys())

如何访问上述键列表的第一个元素? 像-

dict_keys([(1, 1), (2, 2), (3, 3), (4, 4)])

以此类推...

2 个答案:

答案 0 :(得分:1)

请记住,字典是无序的,dict.keys()可能会改变顺序。

也就是说,要访问列表的第一个元素,可以使用list[element_index]。如果元素是可迭代的,请再次执行!

应该是

dct_keys = list(yourdict.keys())
dct_keys[0][0] = 1
dct_keys[0][1] = 1
dct_keys[1][0] = 2
dct_keys[1][1] = 2

答案 1 :(得分:0)

您需要先将dct.keys()输出转换为列表,然后问题将减少为简单的元组列表索引。要将您的.keys()输出转换为列表,可以使用多种方法(check this out)。就个人而言,我发现将列表理解作为最简单,最通用的方法之一:

>>> [key for key in dct.keys()]
[(1, 1), (2, 2), (3, 3), (4, 4)]

现在只需将此元组列表索引为:

>>> [key for key in dct.keys()][0][0]
1

希望有帮助。