我有一个要用括号括起来的字符串列表,但前提是每个值中都有两个或多个单词。
例如:
list = ['test', 'go test', 'test again', 'test2 ']
我的第一个想法是只测试一个空格,但并非总是单个单词值将不包含空格,因为我有意将其包含在'test2 '
值中(请注意空格。值的结尾)。
我可以在单词的开头和结尾处去除空格,然后测试以下空格:
list2 = []
for b in list:
a = b.strip()
list2.append(a)
将为我提供一个单词的开头或结尾没有空格的输出,这将允许我测试空格-但这是一个附加步骤。
有什么方法可以测试单个连续字符串而又不消除每个单词开头和结尾的空格?
所需的输出如下:
list = ['test', '[go test]', '[test again]', 'test2 ']
答案 0 :(得分:4)
使用以下内容
mylist = ['test', 'go test', 'test again', 'test2 ']
['[' + i + ']' if len(i.split())>1 else i for i in mylist]
#['test', '[go test]', '[test again]', 'test2 ']
答案 1 :(得分:0)
不需要创建新列表。在检查时,您可以释放空间。
mylist = ['test', 'go test', 'test again', 'test2 ']
print([f'[{i}]' if ' ' in i.strip() else i for i in mylist])
#['test', '[go test]', '[test again]', 'test2 ']