非常感谢您的帮助! 在Python中,我只想访问字典中特定键的值并在函数中使用它们。
这是我拥有的字典的示例:
dict={'key1': ['a', 'b', 'c'], 'key2': ['d', 'e', 'f'], 'key3': ['g', 'h', 'i']}
所有列表的长度都相同。实际上,列表的总长度> 800,所以我不想手动访问每个值。
这是接受两个变量的函数:
def function(variable1, variable2) ... returnValue
variable1和variable2对应于字典中键的值。
这就是我想做的: 对于 key1 和 key3 ,取第一个值并将它们用作函数中的变量 1 和变量 2(并将 returnValue 写入某处)。 然后从 key1 和 key3 中取出第二个值,并将它们用作函数中的变量 1 和变量 2。 依此类推,直到使用最后一个值。
看起来很简单,但我不知何故陷入了困境:/
我尝试了 for 循环来访问元素,但出现值错误,并且我尝试将 dict 转换为 pandas Dataframe 但仍然不起作用
d={'key1': ['a', 'b', 'c'], 'key2': ['d', 'e', 'f'], 'key3': ['g', 'h', 'i']}
[(a,b) for a,b in zip(d['key1'],d['key3'])]
[('a', 'g'), ('b', 'h'), ('c', 'i')] # you can do for all 800 elements
zip
,它可以让您成对(或三元组或更多)迭代可迭代对象:
d = {'key1': ['a', 'b', 'c'], 'key2': ['d', 'e', 'f'], 'key3': ['g', 'h', 'i']}
def function(k1, k2):
for v1, v2 in zip(d[k1], d[k2]):
print(v1 + v2) # you'd probably do something else
function('key1', 'key3')
打印出来
ag
bh
ci