Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/logging/2.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 如何从dict获取值列表?_Python_List_Dictionary - Fatal编程技术网

Python 如何从dict获取值列表?

Python 如何从dict获取值列表?,python,list,dictionary,Python,List,Dictionary,如何在Python中获取dict中的值列表 在Java中,以列表的形式获取映射的值与执行List=Map.values()一样简单。我想知道在Python中是否有一种类似的简单方法可以从dict中获取值列表。是的,在: 在中(其中dict.values返回字典的值): 是的,在以下方面完全相同: 在中(其中dict.values返回字典的值): 按照下面的例子-- 按照下面的例子-- 您可以使用解压缩dict_值: >>> d = {1: "a", 2: "b"} >&g

如何在Python中获取dict中的值列表


在Java中,以列表的形式获取映射的值与执行
List=Map.values()一样简单。我想知道在Python中是否有一种类似的简单方法可以从dict中获取值列表。

是的,在:

在中(其中
dict.values
返回字典的值):


是的,在以下方面完全相同:

在中(其中
dict.values
返回字典的值):

按照下面的例子--

按照下面的例子--

您可以使用解压缩dict_值:

>>> d = {1: "a", 2: "b"}
>>> [*d.values()]
['a', 'b']
或列表对象

>>> d = {1: "a", 2: "b"}
>>> list(d.values())
['a', 'b']
您可以使用解压缩dict_值:

>>> d = {1: "a", 2: "b"}
>>> [*d.values()]
['a', 'b']
或列表对象

>>> d = {1: "a", 2: "b"}
>>> list(d.values())
['a', 'b']
应该有一种——最好只有一种——显而易见的方法来做到这一点

因此,
list(dictionary.values())
是一种方法

然而,考虑到蟒蛇3,什么更快?
[*L]
vs.
[]扩展(L)
vs.
列表(L)
small_ds={x:str(x+42)表示范围(10)内的x}
小_df={x:float(x+42)表示范围(10)内的x}
打印('Small Dict(str)')
%timeit[*小数值()
%timeit[].extend(小的值())
%timeit列表(小的\u ds.values())
打印(‘小数字(浮动)’)
%timeit[*小的离散值()]
%timeit[].extend(小的函数值())
%timeit列表(小值()
big_ds={x:str(x+42)表示范围(1000000)内的x}
big_df={x:float(x+42)表示范围(1000000)内的x}
打印('Big Dict(str)')
%timeit[*大数值()]
%timeit[].extend(big_ds.values())
%timeit列表(大的\u ds.values())
打印(‘大数字(浮动)’)
%timeit[*大数值()
%timeit[].extend(big_df.values())
%timeit列表(大的函数值())
Small Dict(str)
每个回路256纳秒±3.37纳秒(7次运行的平均值±标准偏差,每个1000000个回路)
每个回路338纳秒±0.807纳秒(7次运行的平均值±标准偏差,每个回路1000000纳秒)
每个回路336纳秒±1.9纳秒(7次运行的平均值±标准偏差,每个1000000个回路)
小型Dict(浮动)
每个回路268纳秒±0.297纳秒(7次运行的平均值±标准偏差,每个1000000个回路)
每个回路343纳秒±15.2纳秒(7次运行的平均值±标准偏差,每个1000000个回路)
每个回路336纳秒±0.68纳秒(7次运行的平均值±标准偏差,每个1000000个回路)
大词典(str)
每个回路17.5 ms±142µs(7次运行的平均值±标准偏差,每个100个回路)
每个回路16.5 ms±338µs(7次运行的平均值±标准偏差,每个100个回路)
每个回路16.2 ms±19.7µs(7次运行的平均值±标准偏差,每个100个回路)
大数字(浮动)
每个回路13.2 ms±41µs(7次运行的平均值±标准偏差,每个100个回路)
每个回路13.1 ms±919µs(7次运行的平均值±标准偏差,每个100个回路)
每个回路12.8 ms±578µs(7次运行的平均值±标准偏差,每个100个回路)
在英特尔(R)核心(TM)i7-8650U CPU上完成,频率为1.90GHz

#命名版本构建
ipython 7.5.0 py37h24bf2e0_0
结果
  • 对于小型词典
    *运算符
    更快
  • 对于重要的大型词典,
    list()
    可能会稍微快一点
  • 应该有一种——最好只有一种——显而易见的方法来做到这一点

    因此,
    list(dictionary.values())
    是一种方法

    然而,考虑到蟒蛇3,什么更快?
    [*L]
    vs.
    []扩展(L)
    vs.
    列表(L)
    small_ds={x:str(x+42)表示范围(10)内的x}
    小_df={x:float(x+42)表示范围(10)内的x}
    打印('Small Dict(str)')
    %timeit[*小数值()
    %timeit[].extend(小的值())
    %timeit列表(小的\u ds.values())
    打印(‘小数字(浮动)’)
    %timeit[*小的离散值()]
    %timeit[].extend(小的函数值())
    %timeit列表(小值()
    big_ds={x:str(x+42)表示范围(1000000)内的x}
    big_df={x:float(x+42)表示范围(1000000)内的x}
    打印('Big Dict(str)')
    %timeit[*大数值()]
    %timeit[].extend(big_ds.values())
    %timeit列表(大的\u ds.values())
    打印(‘大数字(浮动)’)
    %timeit[*大数值()
    %timeit[].extend(big_df.values())
    %timeit列表(大的函数值())
    
    Small Dict(str)
    每个回路256纳秒±3.37纳秒(7次运行的平均值±标准偏差,每个1000000个回路)
    每个回路338纳秒±0.807纳秒(7次运行的平均值±标准偏差,每个回路1000000纳秒)
    每个回路336纳秒±1.9纳秒(7次运行的平均值±标准偏差,每个1000000个回路)
    小型Dict(浮动)
    每个回路268纳秒±0.297纳秒(7次运行的平均值±标准偏差,每个1000000个回路)
    每个回路343纳秒±15.2纳秒(7次运行的平均值±标准偏差,每个1000000个回路)
    每个回路336纳秒±0.68纳秒(7次运行的平均值±标准偏差,每个1000000个回路)
    大词典(str)
    每个回路17.5 ms±142µs(7次运行的平均值±标准偏差,每个100个回路)
    每个回路16.5 ms±338µs(7次运行的平均值±标准偏差,每个100个回路)
    每个回路16.2 ms±19.7µs(7次运行的平均值±标准偏差,每个100个回路)
    大数字(浮动)
    每个回路13.2 ms±41µs(7次运行的平均值±标准偏差,每个100个回路)
    每个回路13.1 ms±919µs(7次运行的平均值±标准偏差,每个100个回路)
    每个回路12.8 ms±578µs(7次运行的平均值±标准偏差,每个100个回路)
    
    在英特尔(R)核心(TM)i7-8650U CPU上完成,频率为1.90GHz

    #命名版本构建
    ipython 7.5.0 py37h24bf2e0_0
    
    结果
  • 对于小型词典
    *运算符
    更快
  • 对于重要的大型词典,
    list()
    可能会稍微快一点
  • 纯粹为了视觉目的。不生产有用的产品。。。仅当您希望以段落类型的形式打印长字典时才有用


    纯粹为了视觉目的。不生产有用的产品。。。只有当你想要一本长字典以段落形式打印时才有用。

    @Muhd Python文档总是拥有所有内容:或者,或者,
    [d[k]代表k in d]
    这对python2.x和3.x都有效(请注意,我并不是建议你使用它)。通常您实际上不需要值列表,因此
    d.values()
    就可以了。
    >>> d = {1: "a", 2: "b"}
    >>> list(d.values())
    ['a', 'b']
    
    out: dict_values([{1:a, 2:b}])
    
    in:  str(dict.values())[14:-3]    
    out: 1:a, 2:b