当我在循环中给一个字符串加前缀时,我是怎么做到的呢?

2024-10-04 09:17:41 发布

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

我正在尝试编写一个程序来获取字符串;查找并删除字符串中的元音,将大写字母改为小写字母,并在每个字母之前添加“.”。代码如下:

input_string = "aBAcAba"
vowel = ["a","e","i","o","u"]
list = list(input_string.lower())

for letter in list:
    if letter in vowel:
        list.remove(letter)

result = ".".join(list)
print (result)

当我运行这个程序时,我得到:

b.c.b

但理想的结果是:

.b.c.b

为什么不在第一个字母之前添加.,我如何修复它?在


Tags: 字符串代码in程序inputstring字母result
3条回答

更简单

input_string = "aBAcAba"
vowel = ["a","e","i","o","u"]
list = list(input_string.lower())

for letter in list:
    if letter in vowel:
        list.remove(letter)

result = "."+".".join(list)
print (result)
result = ".".join(list) 

不会在每个字母前添加“.”,但会像您得到的结果一样。 如果你想在开始时加上“.”,你也可以加上额外的

^{pr2}$

使用列表理解来创建新列表,而不是就地删除:

input_string = "aBAcAba"
vowel = {"a","e","i","o","u"}
new_string = ''.join(["."+i.lower() for i in input_string if i.lower() not in vowel])

输出:

^{pr2}$

另外,将vowellist更改为set可以提高整个查找时间。在

相关问题 更多 >