如何使用输入进行搜索以在排序的嵌套列表中查找某些值?

2024-09-30 10:27:31 发布

您现在位置:Python中文网/ 问答频道 /正文

所以现在我有一个嵌套的列表,我用冒泡排序。代码如下所示:

def bubbleTop5(bad_list):
    length = len(bad_list) - 1
    sorted = False
    while not sorted:
        sorted = True
        for i in range(length):
            if bad_list[i][1] <= bad_list[i+1][1]:
                sorted = False
                bad_list[i], bad_list[i+1] = bad_list[i+1], bad_list[i]

这将根据列表的第[1]个元素对列表进行排序,并打印出类似以下内容的列表:

^{pr2}$

现在,我要做的是让用户为这些列表中的第[3]个元素输入一个数字,并且只显示具有该值的那些状态。所以如果我输入7,那么它只会在第[3]个元素中显示值为7或更高的状态。感谢任何帮助:)


Tags: 代码falsetrue元素列表len状态def
3条回答

试试这个:

n = int(raw_input("Enter search value: "))
result = [x for x in sorted_list if x[3] >= n]

还请注意,您可以使用

^{pr2}$

对于大型列表,这通常比用Python编写的冒泡排序快得多。在

您可以使用raw_input获取输入,并使用列表理解来获得结果:

key = int(raw_input("Enter a number: "))
result = [e for e in bad_list if e[3] >= key]

注意,raw_input将返回一个字符串,因此您应该使用int(...)将其转换为整数。在

你可以对列表进行排序

 badlist=sorted(bad_list,key=lambda x :x[1])  

n=int(原始输入(“输入搜索值:”) 接受输入,您可以使用过滤元素大于输入元素的元素

^{pr2}$

相关问题 更多 >

    热门问题