当前位置: 首页 > 面试题库 >

在python中对数字进行排序

张兴旺
2023-03-14
问题内容

我正在尝试获得一个函数,如果您对它进行排序(列表名),它将对该列表中的所有数字进行从最小到最大的排序。

我不确定我的问题是什么,但是我需要一些帮助,因为输出实际上并不是最小到最大,对于输出的前两个数字来说,它最小到最大。

范例:

如果list中有23、212、44个,而不是我对它进行排序,则输出将是这样。

输出:

212,23,44

应该是 23、44、212。

码:

def sort(my_list):
    size = len(my_list)
    for i in range(size):
        for j in range(size-i-1):
            if(my_list[j] > my_list[j+1]):
                tmp = my_list[j]
                my_list[j] = my_list[j+1]
                my_list[j+1] = tmp

更多代码:

numbers=([])
amount=input("How many numbers are in your list? ")
print("")
counter = 0
ran = 0
while counter < int(amount):
    counter = counter + 1
    ran = ran + 1
    num3 = input(str(ran) + ". Input: ")
    try:
       val = int(num3)
    except ValueError:
       num3 = input(str(ran) + ". Input: ")
    sort(numbers)
    numbers.append(num3)

问题答案:

看起来您的列表中除了字符串以外没有任何数字。Python不会尝试猜测这些字符串中可能包含的内容,因此您会得到一个奇怪的排序顺序。

您有两种选择:

  1. int在比较之前将列表元素转换为(if(int(my_list[j]) > int(my_list[j+1])):
  2. 在此站点上搜索python natural sort以获取有关如何在Python中实现“自然排序”的答案。


 类似资料:
  • 问题内容: 我有一个字典,其中每个键都引用一个int值。根据值将键排序到列表中的最佳方法是什么? 问题答案: mydict = {‘a’:1,’b’:3,’c’:2} >>> sorted(mydict, key=lambda key: mydict[key]) [‘a’, ‘c’, ‘b’]

  • 问题内容: 我有以下字典。 如何根据排序。因此,结果字典将如下所示。 问题答案: 从订购的项目元组列表构造一个: (假设Python 3,在Python 2中应该做同样的事情。)

  • 问题内容: 我有这个清单 但是现在我希望列表按以下方式排序: 如您所见,无论每个数字具有什么符号,我都希望从高到低排序,但是保持符号清晰吗? 问题答案: 使用的关键功能或:

  • 问题内容: 考虑这种字典格式。 我希望字典首先按下载进行排序,然后对所有没有下载的项目按日期进行排序。显然,字典无法排序,我只需要列出可以迭代的键即可。 我已经可以使用来按任一值对列表进行排序,但是如何也按第二个值对列表进行排序? 问题答案: 将参数用于。它允许您指定一个函数,给定要排序的实际项目,该函数将返回一个应作为排序依据的值。如果此值为元组,则其排序方式类似于元组排序- 按第一个值,然后按

  • 我想根据数字字段对搜索结果进行排序。在下面的示例代码中,我希望基于'Age'字段进行排序。我从以下答案开始: [如何在Lucene 6中对IntPont或LongPoint字段进行排序 [在Lucene中根据数字字段对搜索结果进行排序 我在搜索函数中将sortfield.type.score更改为sortfield.type.long。但我得到: 意外的docvalues为字段“年龄”键入NONE

  • 本文向大家介绍python对字典进行排序实例,包括了python对字典进行排序实例的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了python对字典进行排序的方法,是非常实用的技巧。分享给大家供大家参考。 具体实现方法如下: 程序运行结果为: 希望本文所述对大家Python程序设计的学习有所帮助。