如何通过连接两个字符串来命名 python 中的对象?

How do I name an object in python by concatenating two strings?

我想命名一个对象 "Nov2019",我正在尝试以下操作:

Month = "Nov"
Year = "2019"
Year + Month = [100, 90, 80]

我想要一个包含三个整数的列表,该列表通过串联命名为 "Nov2019"。可能吗?

如果将变量放在字典中是可能的:

mydict = {}
Month = "Nov"
Year = "2019"
mydict[Year + Month] = [100, 90, 80]

您可以这样做:

locals()[f"{Month}{Year}"] = [100, 90, 80]

globals()[f"{Month}{Year}"] = [100, 90, 80]

但是字典会更好,因为另一个答案提到了

此外,如果您希望变量 name/key 为 "Nov2019",您应该使用月 + 年,而不是年 + 月。

您可以使用exec方法。变量名不能以数字开头,因此一种方法是将月份与年份反转。您可以放入字典,但这种方法更接近您的问题。

Month = "Nov"
Year = "2019"
exec(Month + Year + '= [100, 90, 80]')
print(Nov2019)
#[100,90,80]

最简单的方法是用locals()包裹Year + Month:

Month = "Nov"
Year = "2019"
locals()[Year + Month] = [100, 90, 80]

print(Nov2019)

输出:

[100, 90, 80]

注意:使用locals()vars()globals()eval()exec()等都是不好的做法。
最好搭配 dict