如何通过连接两个字符串来命名 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
。
我想命名一个对象 "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
。