我知道这听起来微不足道,但我没有意识到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()功能更多或更少有用的东西.
我有一个包含版本字符串的列表,例如:
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.3和2.2.2之前2.2.3.
我如何在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']
我使用以下函数以按递增顺序对列表进行排序.但是,虽然我的函数适用于以下列表:[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)
谁能请你解释一下发生了什么?
我是一名初学者程序员,正在尝试练习。我想对整数列表进行排序,但是每次我运行代码时,列表都不会排序。我用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,我正在编写一个从文件中读取以检索值的程序.目前我有问题的程序从文件中读取并将某些值放入元组中,但是,我现在面临的问题是从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.
拜托,您能告诉我如何解决这个问题,以便我能够返回正确的值吗?
我试图对实际上是整数的字符串列表进行排序,但我没有得到正确的排序值。我如何以根据字符串的整数值对其进行排序的方式对其进行排序?
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)