mappython排序
Ⅰ python中n个数字按照绝对值大小排序,求解答
list=[36,5,-12,9,-21]
list=sorted(list,key=abs)
print(list)
输出:[5,9,-12,-21,36]
这么写才对吧
Ⅱ python对字典排序,代码如下。
tag_sorted = sorted(tag_count.iteritems(),key = operator.itemgetter(1),reverse = True)
# tag_sorted是个列表
eg.
>>> adict = dict([(x, 10+x) for x in xrange(10)])
>>> adict
{0: 10, 1: 11, 2: 12, 3: 13, 4: 14, 5: 15, 6: 16, 7: 17, 8: 18, 9: 19}
>>> sorted(adict.iteritems())
[(0, 10), (1, 11), (2, 12), (3, 13), (4, 14), (5, 15), (6, 16), (7, 17), (8, 18), (9, 19)]
>>>
对于列表是没有.iteritems()方法的;后续代码可以调整为:
for i,(k,v) in enumerate(tag_sorted):
print("%d %d %d"%(k,v,i))
Ⅲ Python对文本里面的内容排序
把文本的格式贴出来看看
假设格式是:
5KB
100KB
1MB
3MB
9MB
2MB
可用下面的程序(python3)
units={"KB":1,"MB":1024}
defcalc(x):
forunit,amountinunits.items():
ifx.find(unit)>0:
number=int(x[:-2])
number*=amount
returnnumber
file=open("sort.txt","r")
values=list(file)
file.close()
values=[value[:-1]forvalueinvalues]
values.sort(key=calc)
print(values)
values=[value+" "forvalueinvalues]
file=open("sort.txt","w")
file.write("".join(values))
file.close()
Ⅳ python 字典排序
字典是无序的,兄弟
你看嘛:
>>>testmap={123:['aaa',5],234:['bbb',2],345:['ccc',3],456:['ddd',1]}
>>>printtestmap
{456:['ddd',1],345:['ccc',3],234:['bbb',2],123:['aaa',5]}
>>>testmap={456:['ddd',1],234:['bbb',2],345:['ccc',3],123:['aaa',5]}
>>>printtestmap
{456:['ddd',1],345:['ccc',3],234:['bbb',2],123:['aaa',5]}
>>>
Ⅳ python的map和rece和Hadoop的MapRece有什么关系
关系就是都是基于Map-Rece的处理思想设计出来的。
从用户角度看功能其实差不多,
Python的Map函数和Hadoop的Map阶段对输入进行逐行处理;
Python的Rece函数和Hadoop的Rece阶段对输入进行累积处理。
但是其实完整的Hadoop MapRece是Map+Shuffle+Sort+Rece过程。
其中Shuffle过程是为了让分布式机群之间将同Key数据进行互相交换,Sort过程是根据Key对所有数据进行排序,从而才能完成类WordCount功能,而这两步在Python里面当然是需要用户自己去编写的。
Ⅵ python map按value排序
题主你好,
代码及测试截图如下:
希望可以帮到题主,欢迎追问.
Ⅶ python查询排序问题,求助
#!usr/bin/envpython
#-*-coding:utf-8-*-
defgetFormat(filename):
withopen(filename)asf:
returnmap(str.strip,sorted(f,key=lambdaline:100-line.count('老虎')))
result=getFormat('/home/a')
foriinresult:
printi
IDLE2.6.5====NoSubprocess====
>>>
小狮子
小老虎
小老虎
小老虎像大老虎
小老虎和大老虎都是老虎
>>>
Ⅷ python数字提取和排序
正则取数字
字符转数值
排序
#python2.x
importre
s='儿子6岁,爷爷60岁,爸爸30岁'
v=map(int,re.findall(r'(d+)',s))
v.sort()
printv
得到 [6, 30, 60]