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

Python 比较一份清单和一份口述

Python 比较一份清单和一份口述,python,list,dictionary,Python,List,Dictionary,在python中比较列表和dict.values的最快方法是什么? 例如,以这两个为例: dict = {1:'value1', 2:'value2', 3:'value3'} list = ['val1', 'val2', 'value3'] value3在这两个数据结构中都存在,那么最快的方法是什么来遍历这两个数据结构并返回value3呢。我试过使用forloops,但速度太慢了 编辑:Dict是动态的,因此每次代码运行时,值都会不断变化,我会遇到如下错误: unhashable type

在python中比较列表和dict.values的最快方法是什么? 例如,以这两个为例:

dict = {1:'value1', 2:'value2', 3:'value3'}
list = ['val1', 'val2', 'value3']
value3在这两个数据结构中都存在,那么最快的方法是什么来遍历这两个数据结构并返回value3呢。我试过使用forloops,但速度太慢了

编辑:Dict是动态的,因此每次代码运行时,值都会不断变化,我会遇到如下错误:

unhashable type: 'set'
使用
set()
并获得两者的交集,也不要为变量使用内置名称
dict
list
,总有一天会给您带来麻烦

dict_values = {1:'value1', 2:'value2', 3:'value3'}
list_values = ['val1', 'val2', 'value3']

intersec = set(list_values).intersection(dict_values.values())
print(intersec)

不带
set

intersec=[]
for value in dict_values.values():
  if value in list_values:
    intersec.append(value)
使用
set()
并获得两者的交集,也不要为变量使用内置名称
dict
list
,总有一天会给您带来麻烦

dict_values = {1:'value1', 2:'value2', 3:'value3'}
list_values = ['val1', 'val2', 'value3']

intersec = set(list_values).intersection(dict_values.values())
print(intersec)

不带
set

intersec=[]
for value in dict_values.values():
  if value in list_values:
    intersec.append(value)

如果不想使用集合,可以使用列表:

my_dict = {1:'value1', 2:'value2', 3:'value3'}
my_list = ['val1', 'val2', 'value3']


common = [e for e in my_list if e in my_dict.values()]
# ['value3']

如果不想使用集合,可以使用列表:

my_dict = {1:'value1', 2:'value2', 3:'value3'}
my_list = ['val1', 'val2', 'value3']


common = [e for e in my_list if e in my_dict.values()]
# ['value3']

set(list)。intersection(dict.values())
应该做trickThanks,它可以工作,但是dict是动态的,所以我得到了一个不可损坏类型的错误:“set”
set(list)。intersection(dict.values())
应该做trickThanks,它可以工作,但是dict是动态的,所以我得到了一个不可损坏类型的错误:“set”谢谢,但是有没有一种方法可以让它不使用sets@chadboii_fourtwenty是,在dict值中迭代,每次检查它是否在列表中,以使其不带设置
result=[dict值中的值的值。values()如果列表值中的值]
谢谢,但是有没有一种方法可以让它不使用sets@chadboii_fourtwenty是,在dict值中迭代,每次检查它是否在列表中,以保持其未设置
result=[dict值中的值的值。值()如果列表值中的值]