相关疑难解决方法(0)

如何以数字方式对列表进行排序?

我知道这听起来微不足道,但我没有意识到sort()Python 的功能很奇怪.我有一个实际上是字符串形式的"数字"列表,所以我首先将它们转换为int,然后尝试排序.

list1=["1","10","3","22","23","4","2","200"]
for item in list1:
    item=int(item)

list1.sort()
print list1
Run Code Online (Sandbox Code Playgroud)

给我:

['1', '10', '2', '200', '22', '23', '3', '4']
Run Code Online (Sandbox Code Playgroud)

我想要的是

['1','2','3','4','10','22','23','200']
Run Code Online (Sandbox Code Playgroud)

我查看了一些与排序数字集相关的算法,但我发现的算法都涉及排序字母数字集.

我知道这可能是一个毫无疑问的问题,但谷歌和我的教科书没有提供比.sort()功能更多或更少有用的东西.

python sorting

114
推荐指数
7
解决办法
26万
查看次数

对点分隔数字列表进行排序,如软件版本

我有一个包含版本字符串的列表,例如:

versions_list = ["1.1.2", "1.0.0", "1.3.3", "1.0.12", "1.0.2"]
Run Code Online (Sandbox Code Playgroud)

我想对它进行排序,结果将是这样的:

versions_list = ["1.0.0", "1.0.2", "1.0.12", "1.1.2", "1.3.3"]
Run Code Online (Sandbox Code Playgroud)

数字的优先顺序显然应该是从左到右,它应该是降序.所以1.2.3来之前2.2.32.2.2之前2.2.3.

我如何在Python中执行此操作?

python

62
推荐指数
4
解决办法
2万
查看次数

使用Python对字符串格式的数字进行排序

我有一个列表,其中包含一些字符串中的章节编号.当我使用键功能对键进行排序时,它会给我错误的结果.

keys = ['1.1', '1.2', '2.1', '10.1'] 
keys.sort() 
print keys

['1.1', '1.2', '10.1', '2.1']

我怎样才能使用sort函数来获取

['1.1', '1.2', '2.1', '10.1']

如果阵列有这样的东西怎么办?

['1.1.1', '1.2.1', '10.1', '2.1'] -> ['1.1.1','1.2.1','2.1','10.1']

python sorting

7
推荐指数
1
解决办法
7660
查看次数

在python中对列表进行排序的算法无法正常工作

我使用以下函数以按递增顺序对列表进行排序.但是,虽然我的函数适用于以下列表:[1,5,6,9,3]或者[56,43,16,97,45],它不适用于表单的列表:[20,10,1,3,50].

在这种情况下,计算机似乎认为3> 20和3> 10和3在我得到的"排序"列表中就在50(倒数第二个)之前结束.更准确地说,我得到的结果是:[1,10,20,3,50].

这是我的代码:

def function_sort(L):

    for j in range(len(L)):
        min=j
        for i in range(j+1,len(L)):
           if L[i]<L[min]:
              min = i

        if(min != j):
            L[j],L[min] = L[min],L[j]

            print L
    return L
Run Code Online (Sandbox Code Playgroud)

谁能请你解释一下发生了什么?

python

1
推荐指数
1
解决办法
116
查看次数

在Python中对整数列表进行排序

我是一名初学者程序员,正在尝试练习。我想对整数列表进行排序,但是每次我运行代码时,列表都不会排序。我用sorted()或.sort()以几种不同的方式尝试过,但是似乎没有任何帮助。

def main():

    _list1_ = []
    _list2_ = []

    print("Enter random numbers and enter Q to quit: ")
    userInput1 = input("")
    while userInput1.upper() != "Q":
        _list1_.append(int(userInput1))
        userInput1 = input("")

    print("Enter random numbers and enter Q to quit:")
    userInput2 = input("")
    while userInput2.upper() != "Q":
        _list2_.append(int(userInput2))
        userInput2 = input("")

    sorted(_list1_)
    sorted(_list2_)

    print(_list1_)

main()
Run Code Online (Sandbox Code Playgroud)

谢谢!

python sorting

0
推荐指数
1
解决办法
143
查看次数

python中的Max和Min方法,返回不正确的值

我刚刚从编程语言中开始使用Python,我正在编写一个从文件中读取以检索值的程序.目前我有问题的程序从文件中读取并将某些值放入元组中,但是,我现在面临的问题是从python中的元组列表返回最小值和最大值,值列表我在元组列表中有:

tuple = ('44.0', '34.0', '17.0', '6.0','15.0') 
Run Code Online (Sandbox Code Playgroud)

然而,当我max打电话给max(tuple)我时6.0,我的结果而不是正确答案44.0.同样,如果我尝试使用返回最小值min(tuple).相反,我得到的是价值,15.0而不是正确的价值6.0.

拜托,您能告诉我如何解决这个问题,以便我能够返回正确的值吗?

python max min string-comparison

0
推荐指数
1
解决办法
639
查看次数

如何对在python中存储为字符串的整数列表进行排序

我试图对实际上是整数的字符串列表进行排序,但我没有得到正确的排序值。我如何以根据字符串的整数值对其进行排序的方式对其进行排序?

a = ['10', '1', '3', '2', '5', '4']
print(sorted(a))
Run Code Online (Sandbox Code Playgroud)

输出:

['1', '10', '2', '3', '4', '5']
Run Code Online (Sandbox Code Playgroud)

想要的输出:

['1', '2', '3', '4', '5', '10']
Run Code Online (Sandbox Code Playgroud)

python sorting string python-3.x

-1
推荐指数
1
解决办法
418
查看次数

标签 统计

python ×7

sorting ×4

max ×1

min ×1

python-3.x ×1

string ×1

string-comparison ×1