请教一个python的元组排列问题

pyhai_mm 2014-01-17 02:05:52
a=[
('172.30.4.3','2014-01-13 06:30:39','a','王','工号1'),('172.30.4.3','2014-01-13 06:30:39','a','李','工号1'),('172.30.4.3','2014-01-13 06:30:39','a','王','工号1'),('112.65.197.84','2014-01-13 06:30:39','a','张','工号2'),('112.65.197.84','2014-01-13 06:30:39','a','李','工号2'),('112.65.197.84','2014-01-13 06:30:39','a','张','工号2')
]
现在有这么一个元组,问下如何按照每个元组最后第二项(‘比如:张’)按顺序排列

成:
('172.30.4.3','2014-01-13 06:30:39','a','王','工号1'),\
('172.30.4.3','2014-01-13 06:30:39','a','王','工号1'),\
('112.65.197.84','2014-01-13 06:30:39','a','张','工号2'),\
('112.65.197.84','2014-01-13 06:30:39','a','张','工号2'),\
('172.30.4.3','2014-01-13 06:30:39','a','李','工号1'),\
('112.65.197.84','2014-01-13 06:30:39','a','李','工号2')
谢谢大家了~~
...全文
107 点赞 收藏 9
写回复
9 条回复
angel_su 2014年01月17日
估计解析文件时,某些行生成的元组数据有误,排序比较的并不是姓名栏...
回复 点赞
李察德-泰森 2014年01月17日
引用 7 楼 pyhai_mm 的回复:
有没有办法给个这样的文件: ABC......101.226.183.85......2014-01-13 01:28:10......un......朱......工号1 ABC......112.65.196.219......2014-01-13 01:30:24......abc......朱......工号1 BCD......192.168.136.161......2014-01-13 01:30:24......un......李......工号2 BCD......192.168.136.217......2014-01-13 01:30:24......un......王......工号1 CDB......192.168.136.159......2014-01-13 01:30:24......un......李......工号2 CDB......192.168.136.128......2014-01-13 01:30:24......un......李......工号2 按照最后第二列人名排列。。。 开始我也用的sorted,后来总有几个数据排不对,不知道为什么。。。
排不对估计是编码原因
回复 点赞
pyhai_mm 2014年01月17日
有没有办法给个这样的文件: ABC......101.226.183.85......2014-01-13 01:28:10......un......朱......工号1 ABC......112.65.196.219......2014-01-13 01:30:24......abc......朱......工号1 BCD......192.168.136.161......2014-01-13 01:30:24......un......李......工号2 BCD......192.168.136.217......2014-01-13 01:30:24......un......王......工号1 CDB......192.168.136.159......2014-01-13 01:30:24......un......李......工号2 CDB......192.168.136.128......2014-01-13 01:30:24......un......李......工号2 按照最后第二列人名排列。。。 开始我也用的sorted,后来总有几个数据排不对,不知道为什么。。。
回复 点赞
李察德-泰森 2014年01月17日
引用 3 楼 pyhai_mm 的回复:
问下比如:'172.30.4.3' 没有单引号,也一样可以这样用啊,,,我为了方便测试才加了单引号,一不加就显示不对
当然不对了,不加引号这个算什么?字符串?数字?
回复 点赞
pyhai_mm 2014年01月17日
原数据是这样 a = [ (172.30.4.3,2014-01-13 06:30:39,a,王,工号1),(172.30.4.3,2014-01-13 06:30:39,a,李,工号1),(172.30.4.3,2014-01-13 06:30:39,a,王,工号1),(112.65.197.84,2014-01-13 06:30:39,a,张,工号2),(112.65.197.84,2014-01-13 06:30:39,a,李,工号2),(112.65.197.84,2014-01-13 06:30:39,a,张,工号2) ] 就是不方便测试。。
回复 点赞
pyhai_mm 2014年01月17日
这个元组的数据是从另外一个元组添加进去整合的
回复 点赞
pyhai_mm 2014年01月17日
问下比如:'172.30.4.3' 没有单引号,也一样可以这样用啊,,,我为了方便测试才加了单引号,一不加就显示不对
回复 点赞
李察德-泰森 2014年01月17日

a = [
    ('172.30.4.3','2014-01-13 06:30:39','1','王','工号1'),
    ('172.30.4.3','2014-01-13 06:30:39','2','李','工号1'),
    ('172.30.4.3','2014-01-13 06:30:39','3','王','工号1'),
    ('112.65.197.84','2014-01-13 06:30:39','4','张','工号2'),
    ('112.65.197.84','2014-01-13 06:30:39','5','李','工号2'),
    ('112.65.197.84','2014-01-13 06:30:39','6','张','工号2')
    ]
b = sorted(a, key = lambda a: a[3])
回复 点赞
angel_su 2014年01月17日
养成习惯自己先查文档... a.sort(key=lambda x: x[-2])
回复 点赞
发动态
发帖子
脚本语言(Perl/Python)
创建于2007-08-27

1.5w+

社区成员

3.3w+

社区内容

其他开发语言 脚本语言(Perl ,Python)
社区公告
暂无公告