Python 迭代字典中的键,这些键是元组
假设我有一本字典,它的键是元组。是否可以迭代字典的键,只返回在元组第一个位置具有特定值的键?例如:Python 迭代字典中的键,这些键是元组,python,python-3.x,dictionary,tuples,Python,Python 3.x,Dictionary,Tuples,假设我有一本字典,它的键是元组。是否可以迭代字典的键,只返回在元组第一个位置具有特定值的键?例如: my_dict = {('a','a'):'b', ('a','b'):'b', ('b','a'):'a'} def function(given): for (given,x) in my_dict: print((given,x)) function('a') 我希望函数打印以下内容: >> ('a','a') >> ('a','b')
my_dict = {('a','a'):'b', ('a','b'):'b', ('b','a'):'a'}
def function(given):
for (given,x) in my_dict:
print((given,x))
function('a')
我希望函数打印以下内容:
>> ('a','a')
>> ('a','b')
在Python中有什么方法可以做到这一点吗?在打印之前,您需要使用
if
语句检查第一个值是否是给定的键。另外,不应该对循环变量使用given
,否则会使函数参数黯然失色
def function(given):
for (key,value) in my_dict:
if(key==given):
print((key,value))
def function(given):
for k in my_dict:
if given == k[0]:
print(k)
打印前,需要使用if
语句检查第一个值是否是给定的键。另外,不应该对循环变量使用given
,否则会使函数参数黯然失色
def function(given):
for k in my_dict:
if given == k[0]:
print(k)
那么,你到底遇到了什么问题?我给出了一个值。我想打印字典中的所有元组,它们的第一个元素是给定的值。。。对您似乎理解如何迭代键,那么问题到底是什么?那么,您遇到的问题是什么?我已经给出了一个值。我想打印字典中的所有元组,它们的第一个元素是给定的值。。。对您似乎了解如何迭代键,那么问题到底是什么呢?我已经提出了这个解决方案,我只是认为可能有一种更简单的方法可以做到这一点……使用map
、filter
或列表理解有一些复杂的方法,但这是最简单、最受欢迎的方法。为什么要避免使用if
语句呢?我已经提出了这个解决方案,我只是认为可能有一种更简单的方法可以做到这一点……使用映射
、过滤
或列表理解有一些复杂的方法,但这是最简单、最受欢迎的方法。为什么要避免使用if
语句?