繁体   English   中英

如何删除 python 列表中小于特定字符数的所有元素

[英]how to remove all elements in a python list which are less than a particular number of charecters

如何删除列表中少于特定字符数的所有元素? 我们有一个包含 50 个元素的列表。 我正在尝试删除少于 30 个字符的所有元素。 我尝试使用 my_list.remove 但它不起作用。

元素是字符串,我正在尝试删除少于 20 个字符或字母的元素数量

你可以试试这个:

list1 = ['1', '2', '3' ...]
if len(list1)>50:
     number = len(list1)-50
     print(list1[number:])

您不能在迭代时删除元素,您已经创建了一个新列表。

new_list = [x for x in old_list if len(x) > 30]

即使这样也可以,因为首先计算右侧,然后覆盖旧值:

old_list = [x for x in old_list if len(x) > 30]

这个怎么样:

filtered = filter(lambda x: len(x)>29, my_list)
filtered_list = list(filtered)
example_list = ["1234", "12345", "123456", "1234567"]

# Example: Only keep list elements with over 5 characters
filtered_list = list(filter(lambda el: len(el) > 5, example_list))

print(filtered_list)

Output:

['123456', '1234567']

要仅保留具有 30 个或更多元素的元素,您可以将len(el) > 5更改为len(el) > 29len(el) >= 30

这可能会有所帮助:

a = ["1", " 2", "123455"]
b = []
for i in a:
    if len(i)>50:
        b.append(i)
a= b
print(b)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM