如何为列表中的每个项目移动字符串的一部分

2024-10-08 22:30:12 发布

您现在位置:Python中文网/ 问答频道 /正文

我用Python编写了一个程序,对于列表中的每一项,都应该将某个子字符串"{Organization}"移动到该项的末尾

列表:example_list = ['Wall{Organizationmart', 'is', 'a', 'big', 'company']

这是我写的代码

output = []
word = '{Organization'
for i in example_list:
    output.append(i.replace(word, "") + str(word) + "}")
print(output)

预期的输出是:['Wallmart{Organization}', 'is', 'a', 'big', 'company']

但是,这是输出:

['Wallmart{Organization}', 'is{Organization}', 'a{Organization}', 'big{Organization}', 'company{Organization}']

任何帮助都将不胜感激。多谢各位


Tags: 字符串程序列表outputisexamplecompanylist
2条回答

您必须检查单词是否在列表元素中,并根据该元素决定打印什么。 您的问题的解决方案是:

example_list = ['Wall{Organizationmart', 'is', 'a', 'big', 'company']

output = []
word = '{Organization'
for i in example_list:
    if word in i:
        output.append(i.replace(word, "") + str(word) + "}")
    else:
        output.append(i)
print(output)

您忘记检查每个字符串中是否有组织。对代码稍作修改:

output = []
word = '{Organization'
for i in example_list:
    if word in i:
        output.append(i.replace(word, "") + str(word) + "}")
    else:
        output.append(i)

print(output)

输出:

['Wallmart{Organization}', 'is', 'a', 'big', 'company']


列表理解也是如此:

output = [i.replace(word, "") + str(word) + "}" if word in i else i for i in example_list]

相关问题 更多 >

    热门问题