在 Python 3 中连接 for 循环的字符串输出
Concatenating string outputs of a for loop in Python 3
我有一个代码,在嵌套的 for 循环之后,在每次迭代中为我提供一个唯一的字符串。我想找到一种方法来连接这些输出,以便我的最后一行是这些唯一字符串的单个字符串。忽略这段代码有多丑陋和低效,我可以采取哪些步骤来达到预期的结果?
VOWELS = ('a','e','i','o','u','A','E','I','O','U')
ad = "Desirable unfurnished flat in quiet residential area"
# remove all vowels, unless the word starts with a vowel
def is_vowel(c):
return c in VOWELS
def mod3(ad):
testAd =ad.split()
for word in testAd:
modAd = ""
i = 0
for char in word:
if i == 0:
modAd += char
elif not is_vowel(char):
modAd += char
i+=1
print(modAd)
mod3(ad)
我对这段代码的输出:
否则,当我将代码修改为如下所示时:
但我的输出是:
我认为 .join() 在这里不起作用,因为它不是列表类型。而且我无法弄清楚在没有我的 for 循环变得疯狂的情况下将字符串 concat + 放在任何地方。有什么建议吗?
您可以创建一个字符串 result
,您可以在其中连接每个迭代结果并打印出来。您需要在每次添加单词后添加空格。因此,也将 + " "
附加到您的 result
变量。
def mod3(ad):
result = ""
testAd =ad.split()
for word in testAd:
modAd = ""
i = 0
for char in word:
if i == 0:
modAd += char
elif not is_vowel(char):
modAd += char
i+=1
result += modAd + " "
print(result)
第二个选项:这是我的看法:
def mod4(ad):
result = ""
testAd =ad.split()
for word in testAd:
for i, char in enumerate(word):
if i == 0:
result += char
if i > 0 and char not in VOWELS:
result += char
result += " "
print(result)
我有一个代码,在嵌套的 for 循环之后,在每次迭代中为我提供一个唯一的字符串。我想找到一种方法来连接这些输出,以便我的最后一行是这些唯一字符串的单个字符串。忽略这段代码有多丑陋和低效,我可以采取哪些步骤来达到预期的结果?
VOWELS = ('a','e','i','o','u','A','E','I','O','U')
ad = "Desirable unfurnished flat in quiet residential area"
# remove all vowels, unless the word starts with a vowel
def is_vowel(c):
return c in VOWELS
def mod3(ad):
testAd =ad.split()
for word in testAd:
modAd = ""
i = 0
for char in word:
if i == 0:
modAd += char
elif not is_vowel(char):
modAd += char
i+=1
print(modAd)
mod3(ad)
我对这段代码的输出:
否则,当我将代码修改为如下所示时:
但我的输出是:
我认为 .join() 在这里不起作用,因为它不是列表类型。而且我无法弄清楚在没有我的 for 循环变得疯狂的情况下将字符串 concat + 放在任何地方。有什么建议吗?
您可以创建一个字符串 result
,您可以在其中连接每个迭代结果并打印出来。您需要在每次添加单词后添加空格。因此,也将 + " "
附加到您的 result
变量。
def mod3(ad):
result = ""
testAd =ad.split()
for word in testAd:
modAd = ""
i = 0
for char in word:
if i == 0:
modAd += char
elif not is_vowel(char):
modAd += char
i+=1
result += modAd + " "
print(result)
第二个选项:这是我的看法:
def mod4(ad):
result = ""
testAd =ad.split()
for word in testAd:
for i, char in enumerate(word):
if i == 0:
result += char
if i > 0 and char not in VOWELS:
result += char
result += " "
print(result)