您好!我寫了一個(gè)升序的方法供您參考:
讓客戶滿意是我們工作的目標(biāo),不斷超越客戶的期望值來自于我們對這個(gè)行業(yè)的熱愛。我們立志把好的技術(shù)通過有效、簡單的方式提供給客戶,將通過不懈努力成為客戶在信息化領(lǐng)域值得信任、有價(jià)值的長期合作伙伴,公司提供的服務(wù)項(xiàng)目有:國際域名空間、網(wǎng)站空間、營銷軟件、網(wǎng)站建設(shè)、若羌網(wǎng)站維護(hù)、網(wǎng)站推廣。
請注意,要在 idle 中運(yùn)行這個(gè)方法,并輸入你希望的值
下面講解一下:
方法體的第一句用于把你輸入的數(shù)字儲存在列表中,這句可以用于其他許多場合
后續(xù)的代碼就是不斷地遞歸,從而達(dá)到升序的效果
有不懂的可以問我哦~望采納!
首先字典這種數(shù)據(jù)類型本來就是無序的,需要排序的話,當(dāng)然只能是列表這種可以排序的數(shù)據(jù)結(jié)構(gòu)。
當(dāng)然,如果只是輸出的話,那么沒問題,你轉(zhuǎn)成字符串好了,想如何顯示就如何顯示。
干脆給你打出來好了:
from?operator?import?itemgetter?
a?=?{
'u1':{'i1':1,'i2':8,'i3':15,'i4':12},
'u2':{'i1':3,'i2':4,'i3':10,'i4':2},
'u3':{'i1':9,'i2':2,'i3':5,'i4':11},
'u4':{'i1':7,'i2':5,'i3':1,'i4':5}????
}
b?=?{}
for?u?in?a.keys():
b[u]?=?sorted(a[u].items(),?key?=?itemgetter(1),?reverse=False)[0:2]
l=sorted(b.items(),?key?=?itemgetter(0),reverse=False)
s=?''
print?l
for?x?in?l:
d?=?{}
for?y?in?x[1]:
d[y[0]]?=?y[1]
s?+=?','?+?"'%s':%s"?%?(x[0],d)
print?'{%s}'?%?s[1:]
結(jié)果:{'u1':{'i1': 1, 'i2': 8},'u2':{'i1': 3, 'i4': 2},'u3':{'i3': 5, 'i2': 2},'u4':{'i3': 1, 'i2': 5}}
title,upper是字符串str對象的方法,并不是函數(shù),列表自然然不能用。
要逐個(gè)取出列表中的元素,取出的元素是str才可以用
for i in range(參數(shù)):
dic["index"] = str(i)
dic["itemName"] = 'test'
以此類推...
lis.append(dic)
題主你好,
代碼及測試截圖如下:
希望可以幫到題主, 歡迎追問