我有一个变量,其中包含一个字符串值。 我想创建一个列表,其中包含值作为其名称/标识符,然后将值附加到列表中。 因此,假设变量为s = "temp1"
,我想创建一个名为temp1
的列表。 显然,在我的情况下,我不知道s
的值是多少。基于python中变量中存储的值创建列表
0
A
回答
9
不要。创建动态变量通常不是一个好主意,如果您尝试创建本地名称(在函数内部),则很难并且会极大地影响性能。
使用字典来代替:
lists = {}
lists[strs] = []
lists[strs].append(somevalue)
命名空间是代码查找名字在短短的默认字典这是一个极大的方便,更清洁,创造更多这样的字典。
你仍然可以用globals()
函数返回一个(可写)字典访问全局(模块命名空间。你可以用locals()
访问函数的局部命名空间,但是写这通常有没有影响,因为函数中的局部命名空间访问得到优化。
在Python 2可以通过在函数使用exec
语句中删除该最优化。在Python 3中,可以不再关闭优化为exec
语句已被替换为exec()
function,这意味着编译器不能再肯定地检测到你有可能用它写入本地命名空间。
1
您可以使用globals()
:
>>> strs = "temp1"
>>> globals()[strs] = []
>>> temp1
[]
但是利用这样的目的的字典会更合适:
>>> dic = {strs:[]}
>>> dic["temp1"]
[]
相关问题
- 1. 基于表中列的定义在存储区中创建变量
- 2. Python熊猫DF创建基于列列表的新变量
- 3. 基于python中的变量数量创建数量的数量?
- 4. R - 基于序列在数据帧列表中创建变量
- 5. Python - 创建任意数量的列表来存储列中的所有值
- 6. 基于键/值存储在Formtastic中创建动态表单
- 7. 基于变量的python划分列表
- 8. Angular:基于变量值创建ng-class
- 9. 基于python中另一列的值创建新列
- 10. 和/或基于存储过程中的变量值
- 11. 由于动态变量在Python中有效创建列表
- 12. 创建基于该列中的唯一值的下拉列表中,选择的值赋给变量
- 13. 基于变量创建DataReader
- 14. 基于python中的if-then条件创建一个新变量
- 15. 基于SAS中的日期值的宏变量创建
- 16. 基于MYSQL表中列的值创建一个新的列
- 17. 创建一个数据帧分类变量基于列的值
- 18. “unlist”存储在变量中的列表
- 19. 基于R中的滞后观察值创建一个变量
- 20. 基于Python中的现有值创建新列
- 21. 创建从值存储在一个变量在python
- 22. 在for循环中的多个变量中存储多个列表值python
- 23. SQL创建基于已创建表中的列的新表
- 24. R:创建一个基于列表的分类变量*
- 25. 基于CVS文件创建变量selectInput的列表
- 26. 如何基于MatLab中的两个变量创建表格?
- 27. 在变量中存储值
- 28. 基于Python中的属性创建子列表
- 29. Python - 使用列表创建新变量
- 30. 从存储过程中的变量创建临时表
感谢您的回应和见解。 – picstand