Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/280.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_Spyder - Fatal编程技术网

Python 是否有一个函数可以用另一本词典过滤我的词典?

Python 是否有一个函数可以用另一本词典过滤我的词典?,python,python-3.x,dictionary,spyder,Python,Python 3.x,Dictionary,Spyder,我正试图在词典位置\u SUPPLY\u打开时筛选词典位置。 如果LOCATION\u SUPPLY\u OPEN的值等于1,则新的\u dict中的键(等于1)应与具有相同键的字典位置的值相同 我尝试了不同的功能,但都不起作用 希望你能帮助我,因为我对python还很陌生 谢谢 您几乎做了所有的事情,除了为new\u dict 看看这个: 听写理解: new_dict = {key: LOCATION[key] for (key, value) in LOCATION_SUPPLY_OPEN.

我正试图在词典位置\u SUPPLY\u打开时筛选词典位置。 如果LOCATION\u SUPPLY\u OPEN的值等于1,则新的\u dict中的键(等于1)应与具有相同键的字典位置的值相同

我尝试了不同的功能,但都不起作用 希望你能帮助我,因为我对python还很陌生 谢谢


您几乎做了所有的事情,除了为
new\u dict

看看这个:

听写理解:

new_dict = {key: LOCATION[key] for (key, value) in LOCATION_SUPPLY_OPEN.items() if value}

欢迎进行更多优化;)

太棒了,我被困在那里一个多小时了,“如果值:”这句话到底是什么意思?如果键的值大于0?您在问题中提到,
位置\u SUPPLY\u OPEN
中的值是二进制的,因此
1
表示
True
,否则
0
表示
False
。如果您期望的不是
二进制
值,您可以更改
if
条件。非常感谢您的帮助!
LOCATION_SUPPLY_OPEN = {
    'Berlin': (0), 
    'Cologne': (1),
    'Hamburg': (0),
    'Stuttgart': (1),
    'Munich': (1),
    }
    
LOCATION = {
    'Berlin': (13.404954, 52.520008), 
    'Cologne': (6.953101, 50.935173),
    'Hamburg': (9.993682, 53.551086),
    'Stuttgart': (9.181332, 48.777128),
    'Munich': (11.576124, 48.137154),
    }
    
new_dict = {}

#  new_dict = {"Cologne":(6.953101, 50.935173), 'Stuttgart': (9.181332, 48.777128),'Munich': (11.576124, 48.137154) }

for key, value in LOCATION_SUPPLY_OPEN.items():
    if value:
       new_dict[key] = LOCATION[key]
       
print(new_dict)
new_dict = {key: LOCATION[key] for (key, value) in LOCATION_SUPPLY_OPEN.items() if value}