• <del id="a8uas"></del>
    • 千鋒教育-做有情懷、有良心、有品質的職業教育機構

      400-811-9990
      手機站
      千鋒教育

      千鋒學習站 | 隨時隨地免費學

      千鋒教育

      掃一掃進入千鋒手機站

      領取全套視頻
      千鋒教育

      關注千鋒學習站小程序
      隨時隨地免費學習課程

      上海
      • 北京
      • 鄭州
      • 武漢
      • 成都
      • 西安
      • 沈陽
      • 廣州
      • 南京
      • 深圳
      • 大連
      • 青島
      • 杭州
      • 重慶
      當前位置:合肥千鋒IT培訓  >  技術干貨  >  十個極簡Python代碼

      十個極簡Python代碼

      來源:千鋒教育
      發布人:xqq
      時間: 2023-11-08 03:41:47

      雖然python是一個易入門的語言,但是很多人依然還是會問到底怎么樣學Python才最快,答案當然是實戰各種小項目,只有自己去想與寫,才記得住規則。本文寫的是10個極簡任務,初學者可以嘗試著自己實現;本文同樣也是10段代碼,Python開發者也可以看看是不是有沒想到的用法。

      1、重復元素判定

      以下方法可以檢查給定列表是不是存在重復元素,它會使用set()函數來移除所有重復元素。

      defall_unique(lst):

      returnlen(lst)==len(set(lst))

      x=[1,1,2,2,3,2,3,4,5,6]

      y=[1,2,3,4,5]

      all_unique(x)#False

      all_unique(y)#True

      2、分塊

      給定具體的大小,定義一個函數以按照這個大小切割列表。

      frommathimportceil

      defchunk(lst,size):

      returnlist(

      map(lambdax:lst[x*size:x*size+size],

      list(range(0,ceil(len(lst)/size)))))

      chunk([1,2,3,4,5],2)

      #[[1,2],[3,4],5]

      3、壓縮

      這個方法可以將布爾型的值去掉,例如(False,None,0,“”),它使用filter()函數。

      defcompact(lst):

      returnlist(filter(bool,lst))

      compact([0,1,False,2,'',3,'a','s',34])

      #[1,2,3,'a','s',34]

      4、使用枚舉

      我們常用For循環來遍歷某個列表,同樣我們也能枚舉列表的索引與值。

      list=["a","b","c","d"]

      forindex,elementinenumerate(list):

      print("Value",element,"Index",index,)

      #('Value','a','Index',0)

      #('Value','b','Index',1)

      #('Value','c','Index',2)

      #('Value','d','Index',3)

      5、解包

      如下代碼段可以將打包好的成對列表解開成兩組不同的元組。

      array=[['a','b'],['c','d'],['e','f']]

      transposed=zip(*array)

      print(transposed)

      #[('a','c','e'),('b','d','f')]

      6、展開列表

      該方法將通過遞歸的方式將列表的嵌套展開為單個列表。

      defspread(arg):

      ret=[]

      foriinarg:

      ifisinstance(i,list):

      ret.extend(i)

      else:

      ret.append(i)

      returnret

      defdeep_flatten(lst):

      result=[]

      result.extend(

      spread(list(map(lambdax:deep_flatten(x)iftype(x)==listelsex,lst))))

      returnresult

      deep_flatten([1,[2],[[3],4],5])#[1,2,3,4,5]

      7、列表的差

      該方法將返回第一個列表的元素,且不在第二個列表內。如果同時要反饋第二個列表獨有的元素,還需要加一句set_b.difference(set_a)。

      defdifference(a,b):

      set_a=set(a)

      set_b=set(b)

      comparison=set_a.difference(set_b)

      returnlist(comparison)

      difference([1,2,3],[1,2,4])#[3]

      8、執行時間

      如下代碼塊可以用來計算執行特定代碼所花費的時間。

      importtime

      start_time=time.time()

      a=1

      b=2

      c=a+b

      print(c)#3

      end_time=time.time()

      total_time=end_time-start_time

      print("Time:",total_time)

      #('Time:',1.1205673217773438e-05)

      9、Shuffle

      該算法會打亂列表元素的順序,它主要會通過Fisher-Yates算法對新列表進行排序:

      fromcopyimportdeepcopy

      fromrandomimportrandint

      defshuffle(lst):

      temp_lst=deepcopy(lst)

      m=len(temp_lst)

      while(m):

      m-=1

      i=randint(0,m)

      temp_lst[m],temp_lst[i]=temp_lst[i],temp_lst[m]

      returntemp_lst

      foo=[1,2,3]

      shuffle(foo)#[2,3,1],foo=[1,2,3]

      10、交換值

      不需要額外的操作就能交換兩個變量的值。

      defswap(a,b):

      returnb,a

      a,b=-1,14

      swap(a,b)#(14,-1)

      spread([1,2,3,[4,5,6],[7],8,9])#[1,2,3,4,5,6,7,8,9]

      以上內容為大家介紹了十個極簡Python代碼,希望對大家有所幫助,如果想要了解更多Python相關知識,請關注IT培訓機構:千鋒教育。http://www.mobiletrain.org/


      聲明:本站稿件版權均屬千鋒教育所有,未經許可不得擅自轉載。

      猜你喜歡LIKE

      python包和文件夾有什么區別

      2023-11-08

      python新手必看之文本文件的輸入輸出

      2023-11-08

      python如何使用import

      2023-11-08

      最新文章NEW

      pythongil是什么

      2023-11-08

      pythontry是什么意思

      2023-11-08

      python決策樹算法是什么

      2023-11-08

      相關推薦HOT

      更多>>

      快速通道 更多>>

      最新開班信息 更多>>

      網友熱搜 更多>>