国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

Google Python Class --- Sorting

madthumb / 596人閱讀

摘要:它直接作用于列表,并且沒有返回值。排序時,列表中的元素會通過函數進行處理,并按照返回值進行排序。會按照元素的長度進行升序排列按照元素的小寫進行排序后面可以是自定義函數表達式按照返回值排序元組元組是固定尺寸的元素的集合。

剛才看到一位朋友談到如何寫出高逼格的文章,想了想確實有道理。所以特意弄一張高清的圖片加上高逼格的文字。

堅持是一種品格

學習Python和我的工作關系并不大,但這不重要,因為喜歡所以堅持。
打籃球他們因為不想和我一伙而爭論,完全不顧我的感受,但這不重要,因為喜歡所以堅持。
寫博客很費時間,有時候想寫又沒什么可寫很痛苦,但這不重要,因為喜歡所以堅持。
寫博客排版很費時,終于碰到segmentfault,又產生了寫寫寫的欲望。【順便贊一下】

Google Python Class --- Sorting

繼續前面兩篇,我個人覺得這篇是干貨最多的,至少我從中學到了不少東西。廢話少說,開始吧!

對一個列表排序最簡單的方法就是使用sorted(list)函數。
前面我們說過list.sort(),這是列表的一個方法。它直接作用于列表,并且沒有返回值。有時候我們不想改變列表本身,只是希望返回一個新的列表,那么就需要用到sorted(list)函數。

a = [5, 1, 4, 3]
print sorted(a)  ## [1, 3, 4, 5]
print a  ## [5, 1, 4, 3]

google 課程中強烈推薦使用函數sorted(list),而不是list的方法list.sort().
sorted(list)可以使用參數,比如reverse=Ture/false,默認false[升序排列]

strs = ["aa", "BB", "zz", "CC"]
print sorted(strs)  ## ["BB", "CC", "aa", "zz"] (case sensitive)
print sorted(strs, reverse=True)   ## =True,改為降序排列

sorted(list)可以使用可選的key參數指定一個函數.該函數會以每個元素為參數。
排序時,列表中的元素會通過函數進行處理,并按照返回值進行排序。

strs = ["ccc", "aaaa", "d", "bb"]
#會按照元素的長度進行升序排列
print sorted(strs, key=len)  ## ["d", "bb", "ccc", "aaaa"]

#按照元素的小寫進行排序
strs = ["BB","aa","CC","zz"]
print sorted(strs, key=str.lower)  ## ["aa", "BB", "CC", "zz"]

#key后面可以是自定義函數
def MyFn(s):
return s[-1]

## Now pass key=MyFn to sorted() to sort by the last letter:
print sorted(strs, key=MyFn)  ## ["wa", "zb", "xc", "yd"]

## lambda 表達式
strs = [1,2,-5,-435]
#按照返回值排序
print sorted(strs,key=lambda str:str*(-1)) #[2, 1, -5, -435]

元組【Tuples】

元組是固定尺寸的元素的集合。在Python扮演一種"結構體"的角色

元組與列表類似,可以使用len()返回長度,使用[]訪問元素,使用for,in等等。

tuple = (1, 2, "hi")
print len(tuple)  ## 可以返回長度
print tuple[2]    ## 通過[]訪問元素
tuple[2] = "bye"  ## 元組一旦創建,不能夠對元素進行修改
tuple = (1, 2, "bye")  ## 可以重新創建

列表推導式【List Comprehensions】

列表推導式是一種簡潔的方式,可以將表達式擴展到整個列表。
語法: [ expr for var in list ]

  nums = [1, 2, 3, 4]
  squares = [ n * n for n in nums ]   ## [1, 4, 9, 16]
  
  #創建一個全部都為0的二維數組
  matrix = [[0 for col in range(ncols)] for row in range(nrows)]  

可以在[ expr for va in list ]的右邊增加if條件進行過濾

nums = [2,8,1,6]
small = [n for n in nums if n <= 2 ] ## [2,1]

## Select fruits containing "a", change to upper case
fruits = ["apple", "cherry", "bannana", "lemon"]
afruits = [ s.upper() for s in fruits if "a" in s ]

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/45509.html

相關文章

  • 由 sort 中 key 的用法淺談 python

    摘要:但是實際寫程序中,我們經常會寫出許多繁雜的丑陋的代碼。特別推薦,許多代碼讓我獲益匪淺,比如這里對的使用。用可以寫出很簡單直觀的代碼,如下當然,上面不考慮效率,這里有一個利用分治法思想的高效的方法。更多文章更多閱讀中參數的用法高級編程技巧 用 Python 時間也算不短了,但總感覺自己在用寫 C++ 代碼的思維寫 Python,沒有真正用到其作為腳本語言的優勢。之前刷 LeetCode ...

    keke 評論0 收藏0
  • 淺談 python 中的 sorted()與sort()

    摘要:返回值是一個經過排序的可迭代類型,與一樣。注一般來說,和可以使用表達式。與的不同在于,是在原位重新排列列表,而是產生一個新的列表。 我們需要對List進行排序,Python提供了兩個方法 對給定的List L進行排序,方法1.用List的成員函數sort進行排序方法2.用built-in函數sorted進行排序(從2.4開始) ----------------------------...

    lansheng228 評論0 收藏0
  • 數據結構與算法(二):帶你讀懂冒泡排序(Bubble Sorting

    摘要:經過一次冒泡排序,最終在無序表中找到一個最大值,第一次冒泡結束。也是我們后面要說的冒泡排序的優化。冒泡排序只執行第一層循環,而不會執行第二層循環。因此冒泡排序的時間復雜度是。 showImg(https://user-gold-cdn.xitu.io/2019/6/19/16b6f986df6880f9?w=640&h=142&f=gif&s=17175);showImg(https:...

    chuyao 評論0 收藏0
  • Python基礎練習100題 ( 1~ 10)

    摘要:一套全面的練習,大家智慧的結晶大家好,好久不見,我最近在上發現了一個好東西,是關于夯實基礎的道題,原作者是在的時候創建的,閑來無事,非常適合像我一樣的小白來練習對于每一道題,解法都不唯一,我在這里僅僅是拋磚引玉,希望可以集合大家的智慧,如果 一套全面的練習,大家智慧的結晶 大家好,好久不見,我最近在Github上發現了一個好東西,是關于夯實Python基礎的100道題,原作者是在Pyt...

    Java3y 評論0 收藏0
  • Java - Sorting Algorithms

    Complexity Quicksort Mergesort Heapsort Time Complexity O(nlogn) O(nlogn) O(nlogn) Space Complexity O(1) O(n) Could be O(1) Quicksort Quicksort is s...

    陳江龍 評論0 收藏0

發表評論

0條評論

madthumb

|高級講師

TA的文章

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