infors = [{'name':'qian','age':28},{'name':'an','age':20},{'name':'james','age':25}] #定义infors的值li1 = ['1','2','3'] #定义infors总共有的元素(占位)li = [] #初始化一个列表用来装提取出来的name的值for i in range(len(infors)): #历遍infors所有元素(所有字典)li.append(infors[i]['name']) #通过下标定位所历的下标对应i的元素字典的name值添加至lili.sort() #按升序排列li的元素for k in range(len(li)): #用排序后的li的下标定位infors的元素j的下标for j in infors:if j['name'] == li[k]:li1[k] = j #用对应li排序位置后元素的位置的值替换li1中对应位置的值infors = li1 #用正确排序的li1为infors重新赋值print(infors) #输出infors
2、用函数方法排序
infors = [{'name':'qian','age':28},{'name':'an','age':20},{'name':'james','age':25}]li1 = [1,2,3]li =[]def one():for i in infors:li.append(i['name'])def two():for k in range(len(li)):for j in infors:if j['name'] == li[k]:li1[k] = jone()li.sort()two()infors = li1print(infors)
