說我有一個字典:d = {'Abc':5,'Jack':4,'amy':9,'Tom':0,'abc':5}Python按特定定義的規則排序項目
如果我想寫一個函數,如果我將該函數傳遞給內置的排序函數,例如。列表(d).sort(函數)時,排序函數將根據值對任何具有相同值的列表進行排序,並按鍵(按字母順序排序)。因此,在這種情況下,d = {'Abc':5,'Jack':4,'amy':9,'Tom':0,'abc':5,'TAM':0}返回['amy' , 'ABC', 'ABC', '傑克', '譚', '湯姆'] 函數應該是這個樣子:
def arrange_items(something, thing,**may be a function**):
if something < thing:
return -1
elif something > thing:
return 1
etc
如果我叫some_list.sort(arrange_items),我應該得到排序列表回
預先感謝您
修改規範(另一個問題)的: 如果我有Twitter用戶名的字典,字典的在這種格式:
dict = {'JohnZ':{'name': Jonny Zue,'follow':'MiniT',}, etc} # JohnZ is one of the twitter user. The follow means people that JonhZ follows, in this case it is MiniT.
流行的用戶的裝置的跟隨該特定用戶,在上述例子中,MINIT的普及是至少一種B的人數/ c中至少有一個用戶誰遵循MiniT。
說我有一個twitter用戶名稱列表,比如說L1 = ['JonhZ','MiniT'等],我想根據用戶的流行度來排序L1(更高的流行度第一)。 dict已經在全局命名空間中定義了(我們可以直接訪問dict)。這種排序功能的要求是使用L1.sort(pass_function) 我應該如何編寫pass_function以便排序會根據流行度自動排序L1的用戶。
感謝您的幫助
說什麼是「愚蠢」是沒有幫助的。對於譯員和未來的編碼人員來說,內置插件可能是危險和麻煩的。但不是「愚蠢的」 – franklin 2013-07-06 19:18:10