gpt4 book ai didi

python - 我如何将 ljust() 转换应用于字符串列表的每个元素?

转载 作者:太空宇宙 更新时间:2023-11-04 08:25:42 24 4
gpt4 key购买 nike

我正在学习 python,我正在尝试在一些示例文本的每一行前面添加 2 **。但是,当我在每个元素上调用 ljust(2,'*') 时,它不会更改原始字符串。我想用这个旧字符串替换新元素,但是如何呢?

这是我试过的。首先,我用常规的 for 循环尝试了它,但是没有用。然后我遇到了一个解释列表推导的问题 Perform a string operation for every element in a Python list所以我试过了。

这是我现在拥有的

example_string = '''hello there how are you doing!
i am doig well thank you
lets get to work!!! '''


def modify_example_string():
global example_string
new_string_list = [element.ljust(2,'*') for element in example_string.split('\n')]
example_string = '\n'.join(new_string_list)
print(new_string_list)

modify_example_string()

这应该会返回一个包含所有 ljust 转换的新列表,但事实并非如此,所以我想知道解决这个问题的正确方法。

最佳答案

看来你误解了什么ljust(2, '*')是在做。它不会在字符串的开头添加两个 * 但会用 * 填充字符串,总长度为 2。你所有的行都更长,所以它什么都不做.

相反,只需使用 "**"+ line 将星号添加到行中即可。

def modify_example_string():
global example_string
example_string = "\n".join("**" + line for line in example_string.splitlines())

此外,我建议不要使用 global,而是使用参数和返回值:

def prepend_stars(s):
return "\n".join("**" + line for line in s.splitlines())

example_string = prepend_stars(example_string)

关于python - 我如何将 ljust() 转换应用于字符串列表的每个元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57410062/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com