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

首頁 > 學(xué)院 > 開發(fā)設(shè)計 > 正文

在python中排序元組

2019-11-14 09:54:33
字體:
供稿:網(wǎng)友

在Python中,當(dāng)你排序一個元組時,如下所示:

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

        默認(rèn)情況下,sort和sorted內(nèi)建函數(shù)會優(yōu)先排序第一個元素,然后再排序第二個元素,大寫字母會排在小寫字母前面。當(dāng)你想要不區(qū)分大小寫排序時,可能會按如下寫代碼:

>>> sorted(items, key=str.lower)Traceback (most recent call last):  File "<stdin>", line 1, in <module>TypeError: descr          出現(xiàn)了錯誤,lower需要的是字符串對象,但是接收到了元組。下面的應(yīng)用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, ...) 將其反轉(zhuǎn),但是如果你想要依賴你提供的key來獲得不同的排序順序時,該怎么辦呢?使用lambda函數(shù)返回一個元組可以實現(xiàn),下面是一個更高級的結(jié)構(gòu)排序

>>> 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'}]
發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 88xx成人永久免费观看 | 日本成人在线免费 | 欧美××××黑人××性爽 | 色999久久久精品人人澡69 | 7777视频| 久久久久久亚洲综合影院红桃 | 久久99精品国产自在现线 | av免费在线免费观看 | 91快色 | 性欧美在线视频 | 久久国产精品久久久久久电车 | av免费在线播放网址 | qyl在线视频精品免费观看 | 成人性视频在线 | 成人精品一区二区三区中文字幕 | 99亚洲伊人久久精品影院红桃 | 国产分类视频 | av老司机久久 | 成人在线免费视频播放 | 热99在线视频 | 美国黄色毛片女人性生活片 | 亚洲综合网站 | 国产91丝袜在线播放 | 黄色大片在线免费观看 | 青草久久久久 | 午夜精品久久久久久毛片 | 亚洲日本韩国在线观看 | 中文在线免费观看 | 欧美国产精品久久 | 欧美一级免费在线观看 | 欧美在线成人影院 | 亚洲少妇诱惑 | 欧美黄色一级片在线观看 | 美女性感毛片 | av电影在线观看网站 | 久久久成人精品视频 | 国产精品久久久久久久四虎电影 | 青青草最新网址 | 亚洲精品久久久久久久久久 | 91成人免费视频 | 毛片免费一区二区三区 |