python - 如何将字符或数字添加到python中的变量?
问题描述
我有一些清单,例如:
all0 = [['mortem' 'cliffi' 'gear' 'lerp' 'control']]
all1 = [['video' 'player' 'stori' 'book' 'think' 'narr' 'kill']]
我想把它打印出来
num = 0
print(all+num)
但它没有用。如何在变量名中添加字符或数字?
解决方案
嗯,我很确定你不需要也不需要它,但是 Python 提供了计算变量名的功能。简单地说,它是一个相当高级的功能,通常的方法是使用映射(dict
)或序列(list
或tuple
)容器。
在这里,您将使用:
all = []
all.append([['mortem' 'cliffi' 'gear' 'lerp' 'control']])
all.append([['video' 'player' 'stori' 'book' 'think' 'narr' 'kill']])
num = 0
print(all[0])
顺便说一句,这种语法很奇怪,因为您本质上是在连接相邻的文字字符串...
但是,如果您真的非常需要它,您可以构建一个变量插值器:
def getvar(name):
if name in locals():
return locals()[name]
elif name in globals():
return globals()[name]
else:
raise NameError(repr(name) + ' is not defined')
然后你可以这样做:
all0 = [['mortem' 'cliffi' 'gear' 'lerp' 'control']]
all1 = [['video' 'player' 'stori' 'book' 'think' 'narr' 'kill']]
num = 0
print(getvar("all%d" % num))
并按预期获得:
[['mortemcliffigearlerpcontrol']]
推荐阅读
- python - python中的Lambda函数将文件从S3复制到本地服务器
- html - 如何修复由 CSS 动画引起的奇怪色带?
- python - 在纯 Python 中聚合两个数值数组的最简单方法是什么?
- sockets - 两个客户端都连接到服务器后,如何让两个客户端直接在 c/c++ 中相互连接?
- python - Python切片中的数组索引
- python - 将多个 csv 转换为另一种 csv 格式
- javascript - 我无法让我的脚本到 wp,因为检查时 wp html 中没有任何内容
- java - 大型 XSLT(约 10000 行)无法转换输入消息(Xalan)
- docker - 在 Windows 上安装 Filebeat
- spring-cloud-gateway - 如何调试 Spring Cloud Gateway 内存泄漏?