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

Python流行字典列表值

Python流行字典列表值,python,dictionary,Python,Dictionary,我有一本字典: {'dict': [['IE', '5', '-5'], ['UK', '3', '-9']]} 我希望弹出英国以外的列表值,因此取列表中的第一个值并进行比较,看看它是否等于“UK” 我目前有: for k,v in insideUK.items(): for i in v: if i[0] == "UK": print(x) else: k.pop(v)

我有一本字典:

{'dict': [['IE', '5', '-5'], ['UK', '3', '-9']]}
我希望弹出英国以外的列表值,因此取列表中的第一个值并进行比较,看看它是否等于“UK”

我目前有:

for k,v in insideUK.items():
    for i in v:
            if i[0] == "UK":
                print(x) 
            else:
                k.pop(v)
我知道后,其他是错误的,但需要帮助

我希望dict在弹出不等于“UK”的值后看起来像这样


您可以使用列表理解根据第一个元素进行筛选

>>> data = {'dict': [['IE', '5', '-5'], ['UK', '3', '-9']]}
>>> {'dict': [i for i in data['dict'] if i[0] == 'UK']}
{'dict': [['UK', '3', '-9']]}

您可以使用列表理解根据第一个元素进行筛选

>>> data = {'dict': [['IE', '5', '-5'], ['UK', '3', '-9']]}
>>> {'dict': [i for i in data['dict'] if i[0] == 'UK']}
{'dict': [['UK', '3', '-9']]}

嵌套的dict和list表达式可以执行以下操作:

{k: [i for i in v if i[0] == 'UK'] for k,v in insideUK.items()}
如果您真的想使用for循环执行此操作并更改列表,可以执行以下操作:

for k,v in insideUK.items():
    for i in v:
            if i[0] == "UK":
                print(x) 
            else:
                v.remove(i)

但是强烈建议不要在迭代过程中更改正在迭代的列表

嵌套的dict和list表达式可以做到这一点:

{k: [i for i in v if i[0] == 'UK'] for k,v in insideUK.items()}
如果您真的想使用for循环执行此操作并更改列表,可以执行以下操作:

for k,v in insideUK.items():
    for i in v:
            if i[0] == "UK":
                print(x) 
            else:
                v.remove(i)

但是强烈建议不要在迭代过程中更改正在迭代的列表

您也可以使用
过滤器
功能:

d = {'dict': list(filter(lambda i: 'UK' in i, d['dict']))}
print(d)
输出:

{'dict': [['UK', '3', '-9']]}

您也可以使用
过滤器
功能执行此操作:

d = {'dict': list(filter(lambda i: 'UK' in i, d['dict']))}
print(d)
输出:

{'dict': [['UK', '3', '-9']]}

有没有一种方法可以用我的方式而不是列表理解?有没有一种方法可以用我的方式而不是列表理解?为什么不采取第二种方法,检查为什么不采取第二种方法,检查