成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

python_bomb----排序函數(shù)

darcrand / 760人閱讀

摘要:和列表里提供了方法,其他數(shù)據(jù)類型不能用可以對任何可迭代對象排序方法支持原地排序,變量排序后,變量本身改變方法返回一個(gè)新的列表,并不改變原變量的內(nèi)容不改變原有列表次序默認(rèn)和方法由小到大排序,時(shí),從大到小排序字典排序商品名稱,數(shù)

li.sort()和sorted()

列表里提供了sort方法,其他數(shù)據(jù)類型不能用
sorted可以對任何可迭代對象排序

sort方法支持原地排序,變量排序后,變量本身改變
sorted方法返回一個(gè)新的列表,并不改變原變量的內(nèi)容

li = [1,4,76,23,32]
print(li.sort())
-->None
li
-->[1, 4, 23, 32, 76]
li = [1,4,76,23,32]
print(sorted(li))        #不改變原有列表次序
-->[1, 4, 23, 32, 76]
li    
-->[1, 4, 76, 23, 32]

默認(rèn)li.sort()和sorted()方法由小到大排序,reverse=True時(shí),從大到小排序

lee = [1,3,6765,454,234,3434,3245]
lee.sort(reverse=True)
print(lee)


[6765, 3434, 3245, 454, 234, 3, 1]
lee = [1,3,6765,454,234,3434,3245]
print(sorted(lee,reverse=True))


[6765, 3434, 3245, 454, 234, 3, 1]
字典排序
store = [
    #商品名稱,數(shù)量,價(jià)格
    ("apple",40,2),
    ("banana",17,1),
    ("watermelon",12,5),
    ("starwberry",17,10)
]
print(sorted(store))    #默認(rèn)按關(guān)鍵值排序

#按照商品數(shù)量排序
#key = 代表排序的關(guān)鍵字
def sorten_by_count(x):
    return x[1]

print(sorted(store,key=sorten_by_count))

#先按照商品數(shù)量由小到大進(jìn)行排序,如果商品數(shù)量一致,則按照商品價(jià)格由小到大進(jìn)行排序

def sorten_by_count_price(x):
    return x[1],x[2]    #-x[2]商品價(jià)格從大到小
print(sorted(store,key=sorten_by_count_price))



[("apple", 40, 2), ("banana", 17, 1), ("starwberry", 17, 10), ("watermelon", 12, 5)]
[("watermelon", 12, 5), ("banana", 17, 1), ("starwberry", 17, 10), ("apple", 40, 2)]
[("watermelon", 12, 5), ("banana", 17, 1), ("starwberry", 17, 10), ("apple", 40, 2)]

按字符串長度排序
l = ["hello","apple","cindy","sheenstar"]
print(max(l,key=lambda x: len(x)))

sheenstar
奇偶排序
# 有一個(gè)整數(shù)列表(10個(gè)元素),要求調(diào)整元素順序
#   把所有奇數(shù)放在前面,偶數(shù)放在后面
import random

li = [random.randint(1, 10) for i in range(10)]
print(li)

print(sorted(li, key=lambda x: 1 if x % 2 == 0 else 0))
print(sorted(li,key=lambda x:x%2==0))


[7, 10, 7, 9, 8, 2, 9, 6, 3, 10]
[7, 7, 9, 9, 3, 10, 8, 2, 6, 10]
[7, 7, 9, 9, 3, 10, 8, 2, 6, 10]

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/42248.html

相關(guān)文章

  • python_bomb----高階函數(shù)

    摘要:高階函數(shù)實(shí)參是一個(gè)函數(shù)名函數(shù)的返回值是一個(gè)函數(shù)傳遞的參數(shù)包含函數(shù)名。內(nèi)置高階函數(shù)函數(shù)函數(shù)接收兩個(gè)參數(shù)一個(gè)是函數(shù)一個(gè)是序列將傳入的函數(shù)依次作用到序列的每個(gè)元素并把結(jié)果作為新的返回。 高階函數(shù) 實(shí)參是一個(gè)函數(shù)名 函數(shù)的返回值是一個(gè)函數(shù) print(abs(-10)) f = abs print(f(-10)) #傳遞的參數(shù)包含函數(shù)名。 def myfun(x,y,fun): ...

    Pocher 評論0 收藏0
  • python_bomb----函數(shù)高級特性(生成器)

    迭代 可以通過 for 循環(huán)來遍歷 list 或 tuple,這種遍歷我們稱為迭代(Iteration)只要是可迭代對象,都可以迭代,比如字典默認(rèn)情況下,字典迭代的是key值如何讓判斷一個(gè)類型是否可迭代 from collections import Iterable #導(dǎo)入collections模塊的Iterable類型判斷方法 print(isinstance({abc:1},Itera...

    JouyPub 評論0 收藏0
  • python_bomb----函數(shù)

    摘要:函數(shù)的定義范例總結(jié)無參函數(shù)名快注釋函數(shù)體定義函數(shù),并不會執(zhí)行函數(shù)體里面的內(nèi)容調(diào)用函數(shù)的過程函數(shù)里面嵌套函數(shù)調(diào)用外層函數(shù)時(shí),內(nèi)層函數(shù)不會執(zhí)行變量參數(shù)定義函數(shù)時(shí)的變量,稱做形參,可以任意命名真實(shí)的數(shù)據(jù)信息,調(diào)用函數(shù)時(shí)傳遞的參數(shù),稱為實(shí)參是形參是 函數(shù)的定義 范例 def print(self, *args, sep= , end=n, file=None): 總結(jié) 無參 def 函數(shù)名...

    oogh 評論0 收藏0
  • python_bomb----包

    摘要:什么是包為了組織好模塊,會將多個(gè)模塊分為包。處理包也是相當(dāng)方便的。簡單來說,包就是文件夾,但該文件夾下必須存在文件。最簡單的情況下,只需要一個(gè)空的文件即可。當(dāng)然它也可以執(zhí)行包的初始化代碼包底下也能包含包,這和文件夾一樣,還是比較好理解的。 什么是包? 為了組織好模塊,會將多個(gè)模塊分為包。Python 處理包也是相當(dāng)方便的。簡單來說,包就是文件夾,但該文件夾下必須存在 __init__....

    LeanCloud 評論0 收藏0
  • python_bomb----小白學(xué)裝飾器

    什么是裝飾器? 裝飾器就是用來裝飾函數(shù)。 想要增強(qiáng)原有函數(shù)的功能 但不希望修改原有函數(shù)的定義 在代碼運(yùn)行期間動態(tài)增加功能的方式 函數(shù)嵌套函數(shù) 調(diào)用方式:原函數(shù) = 外層函數(shù)(原函數(shù)名)原函數(shù) def desc(fun): def add_info(): print(happy today) fun() print(westos_linux...

    mikasa 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<