python - 解包到列表中

标签 python

解包成元组在 Python 中有什么区别吗:

x, y, z = v

然后解包到一个列表中?

[x, y, z] = v

最佳答案

绝对没有,甚至是字节码(使用 dis ):

>>> def list_assign(args):
    [x, y, z] = args
    return x, y, z

>>> def tuple_assign(args):
    x, y, z = args
    return x, y, z

>>> import dis
>>> dis.dis(list_assign)
  2           0 LOAD_FAST                0 (args) 
              3 UNPACK_SEQUENCE          3 
              6 STORE_FAST               1 (x) 
              9 STORE_FAST               2 (y) 
             12 STORE_FAST               3 (z) 

  3          15 LOAD_FAST                1 (x) 
             18 LOAD_FAST                2 (y) 
             21 LOAD_FAST                3 (z) 
             24 BUILD_TUPLE              3 
             27 RETURN_VALUE         
>>> dis.dis(tuple_assign)
  2           0 LOAD_FAST                0 (args) 
              3 UNPACK_SEQUENCE          3 
              6 STORE_FAST               1 (x) 
              9 STORE_FAST               2 (y) 
             12 STORE_FAST               3 (z) 

  3          15 LOAD_FAST                1 (x) 
             18 LOAD_FAST                2 (y) 
             21 LOAD_FAST                3 (z) 
             24 BUILD_TUPLE              3 
             27 RETURN_VALUE 

关于python - 解包到列表中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23831243/

相关文章:

python - Pandas read_csv如何处理括号中的sep字符

python - 将元组插入空的 Pandas 数据框中

python - 根据所选选项执行不同的功能

python - 使用 Pandas 的箱线图

python - MongoEngine 如何处理索引(创建、更新、删除)?

python - 使用 Python 创建文件时保留初始 XML 注释

python - 类型错误 : unsupported operand type(s) for -: ‘str’ and ‘int’ in PyCaret regression

python - 在实现二叉搜索树时,Python 中的最大递归深度超出了错误

python - 如何高效统计人名中两个单词组合的数量?

python - 在 numpy 中快速找到对称对