如何在给定变量的情况下创建列表;x";用Python?

如何在给定变量的情况下创建列表;x";用Python?,python,Python,Python: 我有一个变量,比如x。 我需要创建一个名为“x”的列表,使用dict mylists = {} x = 'abhishek' mylists[x] = [] 这样,在MyList中,您将拥有所有列表MyList[x]是一个名为x的列表,这是我对您的问题的解释: def make_list(method): return [method.__name__] def x(): pass make_list(x) # ["x"] 当然,您也可以接受数量可变的方

Python:

我有一个变量,比如x。 我需要创建一个名为“x”的列表,使用dict

mylists = {}

x = 'abhishek'
mylists[x] = []

这样,在
MyList
中,您将拥有所有列表
MyList[x]
是一个名为
x

的列表,这是我对您的问题的解释:

def make_list(method):
    return [method.__name__]

def x():
    pass

make_list(x)
# ["x"]
当然,您也可以接受数量可变的方法,并在列表中返回每个方法的名称:

def make_list_of_names(*methods):
    return [m.__name__ for m in methods]

make_list(x, str, any_function)
# ["x", "str", "any_function"]
那就去做吧:

>>> x = 42
>>> x
42
>>> x = [x]
>>> x
[42]

他想把字符串变成一个变量
这是我对OP想要什么的解释

x = 'cat'  
*[insert magical code]*  
cat = []
(我认为Sudhir是最接近的,除了Nosklos聪明的方法)
这里有一些关于苏迪尔的详细说明

class NewVariables:
    pass
x = "new_variable_name"
setattr(NewVariables, x, [ ])
塔达

>>>NewVariables.new_variable_name
[ ]

我不知道你是否愿意接受

x = 'temp'
并将x转换为一个以“temp”作为第一个元素的列表。这就是我从你的问题中推断出来的

如果您想这样做,那么这段代码将把x变成一个包含“temp”的列表:

>>> x = 'temp'
>>> x = [] + [x]
>>> x
['temp']

谢谢你的回复。但我需要使用在运行时获得的变量“x”值创建一个通用列表。例如,x='temp',我需要创建一个名为'temp'+1的列表。但是,如果您提供更高精度的pi,它对OP可能更有用。@Aronsterling:我已经这样做了,在前一个版本中:您的
x
不是字符串的名称吗
'abishek'
MyList
现在看起来像这样:
{abhishek':[]}
mylists[x]
mylists['abhishek']
对不起,我的问题框架不正确,我想使用变量的值创建一个列表。请澄清您的问题。你已经这样做了,下面有一点,但不清楚你想要什么。考虑到你对约翰·梅钦的评论,我认为存在“思想混乱”(如查尔斯·巴贝奇的名言)。。。对象没有名称(一些对象具有用于调试目的的属性,如
\uuuuu name\uuuuu
;列表没有)。变量是名称,它们指向对象。但是,如果您的变量名依赖于运行时值,则您的代码和/或设计将从根本上被破坏(在更合适的情况下,使用dict将字符串映射到值或任何其他集合)。@delnan,谢谢您delnan。我将改为使用dict。抱歉,我的问题框架不正确,我想使用变量值创建一个列表。
x = 'temp'
>>> x = 'temp'
>>> x = [] + [x]
>>> x
['temp']