打印给定字符串的某些字母的函数
Function that prints certain letters of a given string
我正在尝试创建一个 'def' 函数,它接受一个随机字符串列表和一个单独的随机数列表,并将 return 一个以以下之一结尾的所有字符串的列表给定字母列表中的字母。
例如:
函数 'lastLetter' 有两个参数:'str1',一个随机字符串列表,和 'letters',一个随机字母列表,returns 'str1' 中的所有字符串以 'letters'.
中的字母结尾
您可以使用列表理解、索引和 in
:
def has_final_letter(words, letters):
letters = set(letters) # you can omit this
return [word for word in words if word[-1] in letters]
str1 = ["Horse", "Cow", "Pig"]
letters = ["a", "b", "e"] # or letters = 'abe'
print(has_final_letter(str1, letters)) # ['Horse']
当然,如果您有一个空字符串,这将导致错误。为避免这种情况,您可以在 if
和 word[-1]
之间插入 word and
:
[word for word in words if word and word[-1] in letters]
(现在读出这句话,全是word
,感觉有点好笑哈哈。)
如果你想要完整的 for
循环版本:
def has_final_letter(words, letters):
output = []
for word in words:
if word == '': # check if word is empty
continue # skip this empty word
for letter in letters:
if word[-1] == letter:
output.append(word)
return output
我正在尝试创建一个 'def' 函数,它接受一个随机字符串列表和一个单独的随机数列表,并将 return 一个以以下之一结尾的所有字符串的列表给定字母列表中的字母。 例如: 函数 'lastLetter' 有两个参数:'str1',一个随机字符串列表,和 'letters',一个随机字母列表,returns 'str1' 中的所有字符串以 'letters'.
中的字母结尾您可以使用列表理解、索引和 in
:
def has_final_letter(words, letters):
letters = set(letters) # you can omit this
return [word for word in words if word[-1] in letters]
str1 = ["Horse", "Cow", "Pig"]
letters = ["a", "b", "e"] # or letters = 'abe'
print(has_final_letter(str1, letters)) # ['Horse']
当然,如果您有一个空字符串,这将导致错误。为避免这种情况,您可以在 if
和 word[-1]
之间插入 word and
:
[word for word in words if word and word[-1] in letters]
(现在读出这句话,全是word
,感觉有点好笑哈哈。)
如果你想要完整的 for
循环版本:
def has_final_letter(words, letters):
output = []
for word in words:
if word == '': # check if word is empty
continue # skip this empty word
for letter in letters:
if word[-1] == letter:
output.append(word)
return output