Skip to main content
 首页 » 编程设计

python之如何拆分列表元素并根据空格分隔符替换它们

2025年05月04日11itcoder

我正在尝试根据空格分隔符拆分我拥有的 list 的元素,并用新拆分的字符串替换我正在拆分的字符串。

到目前为止,我已经尝试过了,我使用了 split 函数来拆分字符串,但是我无法将拆分的元素(或字符串)追加回我的原始列表。 我尝试在列表项上使用 join,但这给了我一个语法错误。

这是我到目前为止尝试过的:

my_list = [ 
    'my_label2 new_label2 my_label', 
    'label_test1 label_test2 label_test3', 
    'my_label2 new_label2 my_label' 
] 
 
for item in my_list: 
    if ' ' in item: 
        print(True) 
        my_list.append(i) 
        print(i) 
    else: 
        print(False) 
 
print(my_list) 

但是我的代码没有给我预期的结果。 我得到的结果 list 是:

['my_label2 new_label2 my_label', 'label_test1 label_test2 label_test3', 'my_label2 new_label2 my_label', ['my_label2', 'new_label2', 'my_label'], ['label_test1', 'label_test2', 'label_test3'], ['my_label2', 'new_label2', 'my_label']] 

但我实际上想要得到的是这样的东西:

原始列表:

['my_label2 new_label2 my_label', 'label_test1 label_test2 label_test3', 'my_label2 new_label2 my_label'] 

新列表:

['my_label2', 'new_label2',  'my_label', 'label_test1', 'label_test2, 'label_test3', 'my_label2', 'new_label2', 'my_label'] 

请您参考如下方法:

使用 str.split 和 chain.from_iterable

前

from itertools import chain 
my_list = ['my_label2 new_label2 my_label', 'label_test1 label_test2 label_test3', 'my_label2 new_label2 my_label'] 
print(list(chain.from_iterable(i.split() for i in my_list)))  

输出:

['my_label2', 'new_label2', 'my_label', 'label_test1', 'label_test2', 'label_test3', 'my_label2', 'new_label2', 'my_label']