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]