gpt4 book ai didi

python - 删除列表中所有长度为 x 的字符串

转载 作者:行者123 更新时间:2023-12-02 16:13:36 25 4
gpt4 key购买 nike

我的一个修订实践涉及创建一个函数,该函数删除列表中字符串长度最长的所有字符串。

预期输出:

words_list = ['fish', 'barrel', 'like', 'shooting', 'sand', 'bank']
print(remove_long_words(words_list))
['fish', 'barrel', 'like', 'sand', 'bank']

到目前为止的代码:

def remove_long_words(words_list):
length_long = get_longest_string_length(words_list)

for ele in words_list:
if len(ele) == length_long:
#???
words_list.pop(???)

return words_list

我首先创建了一个返回列表中最长字符串长度的函数,然后使用 for 循环遍历列表中的每个元素,然后使用 if 语句查看元素的长度是否为等于最长的字符串长度。我从那里遇到问题,如何使用 .pop 方法从列表中删除正确的元素?

是否必须将列表转换为字符串,然后使用 .find 查找满足所需长度的元素的索引位置?我将如何让它找到所有事件,而不仅仅是它找到的第一个。

最佳答案

使用列表理解:

words_list = ['fish', 'barrel', 'like', 'shooting', 'sand', 'bank']
max_len = len(max(words_list, key=len))
output = [x for x in words_list if len(x) != max_len]
print(output) # ['fish', 'barrel', 'like', 'sand', 'bank']

关于python - 删除列表中所有长度为 x 的字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67378992/

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