如何在给定变量的情况下创建列表;x";用Python?
Python: 我有一个变量,比如x。 我需要创建一个名为“x”的列表,使用dict如何在给定变量的情况下创建列表;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"] 当然,您也可以接受数量可变的方
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']