繁体   English   中英

Python:连接列表内的字符串

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM