qhnw.net
当前位置:首页 >> python字符串数字排序 >>

python字符串数字排序

你的列表A现在不就是按所含数字从大到小排列的吗?不过,我还是用正则表达式的方法帮你排了一下序,如果你要数字从小到大排序,只要把alist.sort(key=sort_key,reverse=True)改成alist.sort(key=sort_key,reverse=False)就行了.完整的Python

用一个字符一个字符去判断的话估计是很复杂,用正则表达式去判断应该会快点.

一句足矣 l.sort(key = lambda x:int(re.match('\D+(\d+)\.txt',x).group(1)))>>> l = [ 'ch9.txt', 'ch10.txt', 'ch1.txt', 'ch3.txt', 'ch11.txt' ]>>> l.sort(key = lambda x:int(re.match('\D+(\d+)\.txt',x).group(1)))>>> l ['ch1.txt', 'ch3.txt', 'ch9.txt', 'ch10.txt', 'ch11.txt']

简单排序的话,直接使用 list.sort() 就可以了,直接在原列表上进行排序. 非要写成函数的形式的话,代码如下 def ABC(nums_l): nums_l.sort() return nums_l l = [1,2,5,3,4] # 其实,使用 l.sort() 之后,就对l进行了排序,然后输出l就可以了

任何两个对象都可以比较相同类型的对象(实例),如果是数字型(int/float/long/complex),则按照简单的大小来比较;如果是非数字型,且类(型)中定义了__cmp__(含__gt__,__lt__等)则按照__cmp__来比较,否则按照地址(id)来比较不同类型的对象(实例),如果其中一个比较对象是数字型(int/float/long/complex等),则数字型的对象 [1,2], "abc" -1, true 评论0 0 0

文件这样子:代码:fl = open('luciatest1.txt') l = [] sortedl = [] for lines in fl.readlines(): lines = lines.replace("\n", "") l.append(lines) print('\n', 'the original file is:', l) sortedl = sorted(l) print('\n', 'the sorted file is:', sortedl) 运行结果:

你好!啥意思?你这不是在找排序算法吧?最简单的就是将数字都放到一个列表中,然后用sort()或sorted()排.如: a=[2,3,1,78,4,5],那就a.sort() 如有疑问,请追问.

def f(s, c): count = 0 while len(s) > 0: index = s.find(c) if index == -1: break count += 1 s = s[index+len(c):] return countdef g(s, c): cs = "" while True: cs += c count = f(s, cs) if count > 0: print count, cs else: breaka="

#-*- coding:utf-8 *-#读取名为data的txt文件f = open('data.txt','r')DATA = f.read()#按行分割txt内容DATA = DATA.split('\n')#建立字典,人名为key,分数为value,分数需要使用int转换.dataDic = {}for i in DATA: i = i.split(' ') dataDic[i[0]] = int(i[-1])

运用 for 循环可以做到.以下是一个例子 s = 'you are beautiful' result = '' for i in range(len(s)): if i == 0: result += s[0].upper() elif s[i-1] == ' ': result += s[i].upper() else: result += s[i] print(result)

网站首页 | 网站地图
All rights reserved Powered by www.qhnw.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com