Python使用def函数创建不同的变量

Python使用def函数创建不同的变量,python,python-3.x,function,Python,Python 3.x,Function,我是python新手,只想问一下是否可以使用def函数来创建新变量 这是我的代码,试图构建一个函数,我可以输入变量名和数据,它会自动输出不同的列表。但它似乎不起作用: def Length5_list(list_name, a, b, c, d, e): list_name = list() list_name = [a, b, c, d, e] list_name1 = 'first_list' list_name2 = 'second_list' A = 1 B = 2 C

我是python新手,只想问一下是否可以使用def函数来创建新变量

这是我的代码,试图构建一个函数,我可以输入变量名和数据,它会自动输出不同的列表。但它似乎不起作用:

def Length5_list(list_name, a, b, c, d, e):
    list_name = list()
    list_name = [a, b, c, d, e]

list_name1 = 'first_list'
list_name2 = 'second_list'
A = 1
B = 2
C = 3
D = 4
E = 5

Length5_list(list_name1, A, B, C, D, E)
Length5_list(list_name2, E, D, C, B, A)

print(list_name1, list_name2)
还想知道是否有其他方法可以实现它


非常感谢你们

不要动态命名变量。相反,使用字典并用项目更新它。然后通过
d[key]
检索列表,其中
key
是您提供给函数的字符串

下面是一个例子:

def lister(list_name, a, b, c, d, e):
    return {list_name: [a, b, c, d, e]}

list_name1 = 'first_list'
list_name2 = 'second_list'
A, B, C, D, E = range(1, 6)

d = {}

d.update(lister(list_name1, A, B, C, D, E))
d.update(lister(list_name2, E, D, C, B, A))

print(d['first_list'], d['second_list'], sep='\n')

[1, 2, 3, 4, 5]
[5, 4, 3, 2, 1]

虽然可能有动态创建变量的方法,但不建议这样做。有关详细信息,请参阅。

不要使用动态变量名。这几乎总是一个糟糕的设计选择。