Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/284.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 迭代字典中的键,这些键是元组_Python_Python 3.x_Dictionary_Tuples - Fatal编程技术网

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
语句?