【问题标题】:python tuples: unpacking into a list using *argspython 元组:使用 *args 解包到列表中
【发布时间】:2020-02-16 18:49:18
【问题描述】:

您好,感谢您的宝贵时间;

我正在使用 *args 来获取各种参数,这会创建一个元组。如何将元组“解包”到列表中?以下代码在列表中附加了一个元组。

grades = []

def add_grades(*args):
    grades.append(args):
    return grades

print(add_grades(99,88,77))

我可以使用 for 循环并遍历元组来做到这一点,但看看我是否可以直接解包。

【问题讨论】:

  • 可以list(args)吗?
  • 我可以,但这只是创建了一个列表,而我已经创建了一个列表并尝试附加值。
  • 啊,你想追加多个值,我误会了。
  • 这个问题有点令人困惑,但接受的答案只是list.extend()

标签: python tuples argument-unpacking


【解决方案1】:

您可以改用list.extend 方法:

def add_grades(*args):
    grades.extend(args):
    return grades

【讨论】:

    【解决方案2】:

    要将tuple 转换为列表,您可以将*args 作为列表返回并扩展现有列表

    grades = []
    
    def add_grades(*args):
        return [*args]
    
    grades.extend(add_grades(99,88,77))
    

    请注意,您也可以使用 tuple 扩展列表

    def add_grades(*args):
        return args
    
    grades.extend(add_grades(99,88,77))
    

    如果你在add_grades不做任何其他事情你也可以不做任何功能

    grades.extend([99,88,77])
    

    【讨论】:

    • 谢谢 - 似乎 extend() 接受任何元组参数并将它们添加到一个列表中,这是我正在寻找的(并包含在两个第一个答案中)
    猜你喜欢
    • 2021-07-11
    • 1970-01-01
    • 1970-01-01
    • 2016-09-13
    • 2021-10-06
    • 1970-01-01
    • 2014-03-29
    • 2017-11-28
    • 2022-12-24
    相关资源
    最近更新 更多