Python-如何将if条件中的值存储到带有追加的列表中

问题描述 投票:0回答:4

这里是代码:

test('a')
test('b')
test('c')

def test(value):
    if (value == 'a'):
        print(value)
    if (value == 'b'):
        print(value)
    if (value == 'c'):
        print(value)
    r = []
    r.append(value)
    print('r=', r)

输出将是:

a
r= ['a']
b
r= ['b']
c
r= ['c']

我需要列表'r'存储a,b和c。像这样的东西:

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

有可能吗?预先感谢!

python list append
4个回答
-1
投票

尝试此更改,

r = []
def test(value):
    if (value == 'a'):
        print(value)
    if (value == 'b'):
        print(value)
    if (value == 'c'):
        print(value)
    global r
    r.append(value)
    print('r=', r)

您每次运行功能时都会清除列表。解决此问题的方法是在全局级别具有列表,并通过函数将参数附加到该列表中]


0
投票

您需要将r置于test function之外。像这样:


0
投票

这没有那么多的if语句,仍然可以产生预期的结果。


-1
投票

或者,您可以将它们设置为Class

© www.soinside.com 2019 - 2024. All rights reserved.