麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 學院 > 開發設計 > 正文

在python中排序元組

2019-11-14 09:50:41
字體:
來源:轉載
供稿:網友

在Python中,當你排序一個元組時,如下所示:

>>> items = [(1, 'B'), (1, 'A'), (2, 'A'), (0, 'B'), (0, 'a')]>>> sorted(items)[(0, 'B'), (0, 'a'), (1, 'A'), (1, 'B'), (2, 'A')]

        默認情況下,sort和sorted內建函數會優先排序第一個元素,然后再排序第二個元素,大寫字母會排在小寫字母前面。當你想要不區分大小寫排序時,可能會按如下寫代碼:

>>> sorted(items, key=str.lower)Traceback (most recent call last):  File "<stdin>", line 1, in <module>TypeError: descr          出現了錯誤,lower需要的是字符串對象,但是接收到了元組。下面的應用lamdba,返回一個元組:

>>> sorted(items, key=lambda x: (x[0], x[1].lower()))[(0, 'a'), (0, 'B'), (1, 'A'), (1, 'B'), (2, 'A')]

        我確定你知道可以通過 sorted(items, reverse=True, ...) 將其反轉,但是如果你想要依賴你提供的key來獲得不同的排序順序時,該怎么辦呢?使用lambda函數返回一個元組可以實現,下面是一個更高級的結構排序

>>> peeps = [{'name': 'Bill', 'salary': 1000}, {'name': 'Bill', 'salary': 500}, {'name': 'Ted', 'salary': 500}]
>>> sorted(peeps, key=lambda x: (x['name'], x['salary']))[{'salary': 500, 'name': 'Bill'}, {'salary': 1000, 'name': 'Bill'}, {'salary': 500, 'name': 'Ted'}]

      如果你想要使salary逆序,只需要如下改動:

>>> sorted(peeps, key=lambda x: (x['name'], -x['salary']))[{'salary': 1000, 'name': 'Bill'}, {'salary': 500, 'name': 'Bill'}, {'salary': 500, 'name': 'Ted'}]
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 欧美久久一区 | 激情黄页| 久久一区国产 | 精品国产一区二 | 男男啪羞羞视频网站 | 斗罗破苍穹在线观看免费完整观看 | 亚洲精品v天堂中文字幕 | 视频一区二区三区在线播放 | 鲁久久| 国产成年人小视频 | 视频一区二区国产 | 欧美日韩手机在线观看 | 99国产精品自拍 | 欧美精品成人一区二区在线观看 | 国产一级一片免费播放 | 2019天天干夜夜操 | 九九热精品在线播放 | 亚洲欧美在线看 | 欧美偷拍一区二区 | 国产精品久久久免费看 | 法国极品成人h版 | 性高潮一级片 | 又黄又爽免费无遮挡在线观看 | 久久精品性视频 | 精品在线视频观看 | 精品一区二区电影 | 福利在线免费视频 | 最近国产中文字幕 | 国产精品一区视频 | 最近国产中文字幕 | 国产一级在线免费观看 | 欧美成人免费小视频 | 色人阁五月天 | 姑娘第5集高清在线观看 | chinese hd xxxx tube | 久久精品欧美一区 | 免费人成在线观看网站 | 亚洲性在线视频 | 精品久久久久久中文字幕 | 久久久久久亚洲国产精品 | 91久久在线观看 |