Python~用字符串列表项替换字符串中的字符

2024-05-13 20:13:04 发布

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

我需要用单个字符串的列表分别替换字符串中的每个字符。你知道吗

我有一个列表和一个字符串变量

charList = ['a','e','i','o','u']
string = 'str'

我需要这个输出

atr, etr, itr, otr, utr, sar, ser, sir, sor, sur, sta, ste, sti, sto, stu

而字符串变量可能与一个30个字母的单词一样长。你知道吗

我能用python做这个吗?你知道吗

如果以某种方式循环,则每个迭代都可以稍后用另一个变量检查某个条件,这样会更好。有可能这样做吗?你知道吗


Tags: 字符串列表string字符sersirsarstr
3条回答
old_list = ['a','e','i','o','u']
string = 'str'

new_list = []
for ind,char in enumerate(string):
    new_list += [string[:ind] + string[ind:].replace(char, i, 1) for i in old_list]

print(new_list)

输出:

['atr', 'etr', 'itr', 'otr', 'utr', 'sar', 'ser', 'sir', 'sor', 'sur', 'sta', 'ste', 'sti', 'sto', 'stu']

代码:

list = ['a','e','i','o','u']
string = 'str'
out = [string[:i] + c + string[i + 1:] for i in range(len(string)) for c in list]

输出:

['atr', 'etr', 'itr', 'otr', 'utr', 'sar', 'ser', 'sir', 'sor', 'sur', 'sta', 'ste', 'sti', 'sto', 'stu']

这样做的诀窍:

solution = []
for index, _ in enumerate(string):
    for letter in list:
        solution.append(string[:index] + letter + string[(index+1):])
print(solution)

我建议更改变量名'list',因为这是Python中的一个关键字。你知道吗

希望有帮助!你知道吗

相关问题 更多 >