[英]Python: concatenate string inside list
我想输出一个像这样的列表:
operation1 = [
'command\s+[0-9]+',
]
要动态填充模式[0-9]+
位置。
所以我写道:
reg = {
'NUMBER' : '^[0-9]+$',
}
operation1 = [
'command\s+'+str(reg[NUMBER]),
]
print operation1
但我收到一个错误:
Message File Name Line Position
Traceback
<module> <module1> 6
NameError: name 'NUMBER' is not defined
需要帮助! 提前致谢。
我想应该是reg['NUMBER']
。 “ NUMBER”不是变量
NUMBER
应该是一个字符串:
reg['NUMBER']
您需要将键放在引号中(Perl不允许添加引号,但不允许Python):
operation1 = [
'command\s+'+str(reg['NUMBER']),
]
您也不需要调用str
:
operation1 = [
'command\s+'+reg['NUMBER'],
]
您甚至可以执行此操作(尽管与原始问题无关):
operation1 = [
'command\s+{}'.format(reg['NUMBER']),
]
您正在使用未定义的变量NUMBER
。 我认为您要使用的是字符串'NUMBER'
,如下所示:
>>> operation1 = ['command\s+[0-9]+',]
>>> reg = {'NUMBER' : '^[0-9]+$'}
>>> operation1 = [x + reg['NUMBER'] for x in operation1]
>>> operation1
['command\\s+[0-9]+^[0-9]+$']
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.