【问题标题】:How to unpack list into two variables in python2.xpython2.x中如何将list解压成两个变量
【发布时间】:2013-11-25 08:57:15
【问题描述】:

我想把一个函数的返回解包成:

  1. 第一个变量总是由第一个返回值设置

  2. 第二个变量用于存储任何超出的返回值

为此,我让这段代码在 python3.x 下运行。我怎样才能使它适用于 python 2.x(至少是 python2.6)?

a,*b = ['a','b','c']

编辑:这也适用于:

a,*b = ['a']

【问题讨论】:

    标签: python syntax backwards-compatibility


    【解决方案1】:

    在 Python 2.7 中没有直接的方法可以做到这一点,相反,您可以创建一个没有第一个元素和第一个元素的新列表,并将它们解压缩到相应的变量中。

    data = ['a','b','c']
    a, b = data[0], data[1:]
    print a, b
    

    输出

    a ['b', 'c']
    

    即使 RHS 只有一个元素,此解决方案仍然有效

    data = ['a']
    a, b = data[0], data[1:]
    print a, b
    

    输出

    a []
    

    【讨论】:

    • 谢谢。我的问题不够准确。请参阅我的编辑部分。
    【解决方案2】:

    使用切片:

    >>> lis = ['a','b','c']
    >>> a, b = lis[0], lis[1:]
    >>> a
    'a'
    >>> b
    ['b', 'c']
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-03-03
      • 1970-01-01
      • 2019-07-05
      • 2016-02-07
      • 1970-01-01
      • 2023-03-27
      • 2020-10-21
      • 2018-12-15
      相关资源
      最近更新 更多