【问题标题】:Adding integer to a list using append and for loop in python [duplicate]在python中使用append和for循环将整数添加到列表中[重复]
【发布时间】:2021-01-12 08:16:25
【问题描述】:

我是 python 新手,在使用 *args 附加后无法获取列表以获取每个元素。

def has_33(*args):
    m=[]
    for i in args:
        m = m.append(i)
    print(m)
has_33([1,3,3])

输出

None

【问题讨论】:

    标签: python list for-loop append args


    【解决方案1】:

    你可以这样做:

    def has_33(*args):
        m=list(args)
        print(m)
    has_33([1,3,3])
    

    如果您不需要该列表,您可以这样做:

    def has_33(*args):
        m=list(args)
        n = []
        for l in m:
            for elem in l:
                n.append(elem)
    
        print(n)
    has_33([1,3,3])
    

    【讨论】:

    • 上述编码没有获取元素的任何原因
    • @SagarDixit 这是因为append() 返回无
    • 输出到您的代码:[[1, 3, 3]]
    • 输出为[[1, 3, 3]]
    • 但我不需要嵌套列表而是单个列表
    【解决方案2】:

    删除m=m.append(i) 并像这样写m.append(i) 这行得通。

    【讨论】:

    • 但是我得到了一个嵌套列表,任何获取单个列表的方法
    • 是的,这是可行的,因为 m 最初是一个空列表,而您正在向该列表附加一个元素
    • 去掉函数参数has_33(args)中的*
    猜你喜欢
    • 2017-05-18
    • 2013-04-24
    • 2020-03-23
    • 1970-01-01
    • 2015-06-20
    • 1970-01-01
    • 1970-01-01
    • 2020-08-12
    • 1970-01-01
    相关资源
    最近更新 更多