gpt4 book ai didi

python - 从列表列表中删除列表 Python

转载 作者:太空狗 更新时间:2023-10-30 01:45:29 26 4
gpt4 key购买 nike

我有一个列表列表:

[[0.0,3.3, 4.9, 7.5], [4, 6, 90, 21, 21.1], [3, 43, 99, 909, 2.11, 76, 76.9, 1000]]

如果子列表包含给定范围之外的元素,我想从列表中删除该子列表。

例如;范围 = 3, 15

因此,如果子列表包含 -69、-17、0、1、2、15.1、246.99,即超出该范围的任何元素,我希望删除该子列表。

应该返回的输出是一个列表列表,其中所有子列表只包含该范围内的值:

[[6, 5, 7, 13, 12], [4, 6, 10], [9, 9, 4, 5, 11], [4, 4]]

我知道这里有类似的问题,例如:

Removing sublists from a list of lists

Python - Remove list(s) from list of lists (Similar functionality to .pop() )

我无法使用这些解决方案。

我的目标是不删除列表的重复项:对此有很多问题,但这不是我的目标。

我的代码:

max_value = 15
min_value = 3

for sublist in my_list:
for item in sublist:
if(item < min_value):
my_list.pop(sublist)
if(item > max_value):
my_list.pop(sublist)
print(my_list)

错误:

TypeError: 'list' object cannot be interpreted as an integer

最佳答案

您可以使用列表理解。这是一个示例输入和输出。这个想法很简单:对于每个子列表,只需检查 minmax 是否超出所需的限制。

list_1 = [[0.0,3.3, 4.9, 7.5], [4, 6, 9, 11, 12.1], [3, 43, 99, 909, 2.11, 76, 76.9, 1000], ]

left = 3
right = 15

list_2 = [i for i in list_1 if (min(i)>=left and max(i)<=right)]
print (list_2)
# [[4, 6, 9, 11, 12.1]]

关于python - 从列表列表中删除列表 Python,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54483824/

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