python字符串排序方法,python字符串排序
python字符串排序方法,python字符串排序
本文以实例形式简述了Python实现字符串排序的方法,是Python程序设计中一个非常实用的技巧。分享给大家供大家参考之用。具体方法如下:
一般情况下,python中对一个字符串排序相当麻烦:
一、python中的字符串类型是不允许直接改变元素的。必须先把要排序的字符串放在容器里,如list。
二、python中的list容器的sort()函数没返回值。
所以在python中对字符串排序往往需要好几行代码。
具体实现方法如下:
>>> s = "string" >>> l = list(s) >>> l.sort() >>> s = "".join(l) >>> s 'ginrst'
对于刚从C/C++等语言转过来的程序员往往会觉得很习惯,因为在C/C++里这些都是一行语句可以搞定的事情。因此,这里给出了一个简单的字符串排序方法。
实现代码如下:
>>> s = "string" >>> s = "".join((lambda x:(x.sort(),x)[1])(list(s))) >>> s 'ginrst'
因为用了lambda,稍为有点难理解,但想通了就好了。
希望本文所述对大家的Python程序设计有所帮助
print( ''.join( sorted( a ,key = lambda x : ord( x.lower( ) ) * 2 + x.islower( ) ) ) )
思路:
字典类型的典型用法,使用字典类型来统计出现次数,字符串作为key,出现次数作为value。
代码如下:可以根据你的需要改,这个是把字符串的前后导空格都去掉了,空字符串不统计。
PS:又改了一下,这样效果能跟好点
# --coding:GB2312--
dic = {} #定义一个字典类型
fp = open('data.txt') #打开要查询的文件
for line in fp: #从fp中读取行,利用这种方法可以避免有空行截断读取
line = line.strip()#去掉前后导空白
if('' == line):
continue #去掉前后导空白如果是空行不作处理
if(line in dic): #判断s是否在字典内,如果在统计加1
dic[line] += 1
else: #如果不在,首次出现统计增加新key,统计数初始化为1
dic[line] = 1
fp.close() #读完文件,关闭文件
#按value排序,返回是一个元组的列表
afterSort = sorted(dic.items(), key=lambda dic: dic[1])
print afterSort #打印排序后列表,可按照自己需求提取打印
结果:
data.txt里存有
qiang
song
wan
qiang
song
qiang
执行python后打印出:
[('wan', 1), ('song', 2), ('qiang', 3)]
相关内容
- python进阶教程之词典、字典、dict,python进阶教程
- Python中__call__用法实例,python__call_
- python进阶教程之文本文件的读取和写入,
- Python中的闭包实例详解,python实例详解
- python进阶教程之模块(module)介绍,python进阶教程
- python进阶教程之函数参数的多种传递方法,python进阶教
- python进阶教程之循环相关函数range、enumerate、zip,pyth
- python进阶教程之循环对象,python进阶教程对象
- python进阶教程之函数对象(函数也是对象),python进阶
- python进阶教程之异常处理,python进阶教程
评论关闭