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

資訊專欄INFORMATION COLUMN

共享13個非常有利的Python代碼片段

89542767 / 373人閱讀

  小伙伴們好,此篇文章主要是跟大家分享13個Python中非常有利的代碼片段,有興趣的同學們趕緊來看一下吧,對大家有所幫助得話不要忘記保存以下


  ListsSnippets


  大家從最常見的算法設計目錄剛開始


  1.把兩個目錄合拼成詞典


  假定大家在Python中有兩種目錄,我希望把它們合并為詞典方式,其中的一個目錄的項做為詞典的鍵,另外做為值。這就是在用Python編寫代碼時經常碰到的一個很常見的現象


  但為了解決這個問題,大家應該考慮好多個限定,比如2個目錄大小,2個頁面上原素種類,及其在其中是否存在重復原素,特別是我們將要應用元素做為key時。我們通過使用zip等內置函數來解決這個問題


  keys_list=['A','B','C']
  values_list=['blue','red','bold']
  #Thereare3waystoconvertthesetwolistsintoadictionary
  #1-UsingPython'szip,dictfunctionz
  dict_method_1=dict(zip(keys_list,values_list))
  #2-Usingthezipfunctionwithdictionarycomprehensions
  dict_method_2={key:valueforkey,valueinzip(keys_list,values_list)}
  #3-Usingthezipfunctionwithaloop
  items_tuples=zip(keys_list,values_list)
  dict_method_3={}
  forkey,valueinitems_tuples:
  ifkeyindict_method_3:
  pass#Toavoidrepeatingkeys.
  else:
  dict_method_3[key]=value


  2.把兩個或幾個目錄合并為一個1個目錄的目錄


  另外比較常見的目標就是在我們有兩種或者更多目錄時,我希望把它們所有獲取到一個頁面上,在其中比較小目錄的所有首項組成比較大頁面上第一個目錄


  比如,假如我們有4個目錄[1,2,3],['a','b','c'],['h','e','y']和[4,5,6],他們想要為這幾個目錄構建一個新目錄;它無疑是[[1,'a','h',4],[2,'b','e',5],[3,'c','y',6]]


  defmerge(*args,missing_val=None):
  #missing_valwillbeusedwhenoneofthesmallerlistsisshorterthamtheothers.
  #Getthemaximumlengthwithinthesmallerlists.
  max_length=max([len(lst)forlstinargs])
  outList=[]
  foriinrange(max_length):
  result.append([args[k]ifi
  returnoutList

  3.對詞典目錄進行篩選


  這一組平時目錄目標就是排列每日任務,依據頁面上涉及到的原素基本數據類型,我們將要選用略微各種方式對這種進行篩選。


  dicts_lists=[
  {
  "Name":"James",
  "Age":20,
  },
  {
  "Name":"May",
  "Age":14,
  },
  {
  "Name":"Katy",
  "Age":23,
  }
  ]
  #Therearedifferentwaystosortthatlist
  #1-Usingthesort/sortedfunctionbasedontheage
  dicts_lists.sort(key=lambdaitem:item.get("Age"))
  #2-Usingitemgettermodulebasedonname
  fromoperatorimportitemgetter
  f=itemgetter('Name')
  dicts_lists.sort(key=f)


  4.對字符串數組目錄進行篩選


  我們通常遭遇1個字符串數組的目錄,我們應該按字母順序、長短或他們想要或我們自己的應用軟件必須的所有外在因素對這種目錄進行篩選


  my_list=["blue","red","green"]
  #1-Usingsortorsrteddirectlyorwithspecifckeys
  my_list.sort()#sortsalphabeticallyorinanascendingorderfornumericdata
  my_list=sorted(my_list,key=len)#sortsthelistbasedonthelengthofthestringsfromshortesttolongest.
  #Youcanusereverse=Truetofliptheorder
  #2-Usinglocaleandfunctools
  importlocale
  fromfunctoolsimportcmp_to_key
  my_list=sorted(my_list,key=cmp_to_key(locale.strcoll))

  5.依據另外一個目錄對目錄進行篩選


  有時候,我們也許需要使用1個目錄的方式對另外一個目錄進行篩選,因而,我們將要有一組數字目錄(檢索)跟一個我們想要使用這個檢索進行篩選的目錄


  a=['blue','green','orange','purple','yellow']
  b=[3,2,5,4,1]
  #Use list comprehensions to sort these lists
  sortedList=[val for(_,val)in sorted(zip(b,a),key=lambda x:
  x[0])]


  6.將目錄投射到詞典


  目錄代碼片段最后一個每日任務,假如已知1個目錄并把它投射到詞典中,換句話說,我們想要將我們自己的目錄轉換成含有數字鍵盤的詞典


  mylist=['blue','orange','green']
  #Map the list into a dict using the map,zip and dict functions
  mapped_dict=dict(zip(itr,map(fn,itr)))
  DictionarySnippets


  如今處理過的數據類型是詞典


  7.合拼2個或幾個詞典


  假定大家有兩種或幾個詞典,而且我希望把它們全部合并為1個具備唯一鍵的詞典


  from collections import defaultdict
  #merge two or more dicts using the collections module
  def merge_dicts(*dicts):
  mdict=defaultdict(list)
  for dict in dicts:
  for key in dict:
  res[key].append(d[key])
  return dict(mdict)


  8.旋轉詞典


  1個較為常見的詞典目標就是假如我們有個詞典而且必須旋轉他的鍵合值,鍵將成為值,而值將成為鍵


  在我們這么做時,我們應該保證并沒有反復鍵。值能夠反復,但鍵不可以,以確保全部新鍵全是可以hashable的


  my_dict={
  "brand":"Ford",
  "model":"Mustang",
  "year":1964
  }
  #Invert the dictionary based on its content
  #1-If we know all values are unique.
  my_inverted_dict=dict(map(reversed,my_dict.items()))
  #2-If non-unique values exist
  from collections import defaultdict
  my_inverted_dict=defaultdict(list)
  {my_inverted_dict[v].append(k)for k,v in my_dict.items()}
  #3-If any of the values are not hashable
  my_dict={value:key for key in my_inverted_dict for value in my_inverted_dict[key]}
  StringSnippets


  接著是字符串數組的處理方法


  9.使用f字符串數組


  格式化字符串很有可能就是我們幾乎天天必須完成一項工作,在Python中有很多種方法來格式化字符串,使用f字符串數組是很不錯的挑選


  #Formatting strings with f string.
  str_val='books'
  num_val=15
  print(f'{num_val}{str_val}')#15 books
  print(f'{num_val%2=}')#1
  print(f'{str_val!r}')#books
  #Dealing with floats
  price_val=5.18362
  print(f'{price_val:.2f}')#5.18
  #Formatting dates
  from datetime import datetime;
  date_val=datetime.utcnow()
  print(f'{date_val=:%Y-%m-%d}')#date_val=2021-09-24

  10.查驗簽串的


  一個較為常見的任務是查驗字符串數組能否在與字符串數組頁面上


  addresses=["123 Elm Street","531 Oak Street","678 Maple Street"]
  street="Elm Street"
  #The top 2 methods to check if street in any of the items in the addresses list
  #1-Using the find method
  for address in addresses:
  if address.find(street)>=0:
  print(address)
  #2-Using the"in"keyword
  for address in addresses:
  if street in address:
  print(address)


  11.以字節數為基準獲取字符串大小


  有時候,尤其是在搭建運行內存重要應用軟件時,大家要搞清楚我們自己的字符串數組用了是多少運行內存


  str1="hello"
  str2="????"
  def str_size(s):
  return len(s.encode('utf-8'))
  str_size(str1)
  str_size(str2)
  Input/Outputoperations

  最終我們來看一下輸出等方面的代碼片段


  12.查驗文檔存不存在


  在計算機科學和大多數別的應用軟件中,大家經常要文本文件中獲取數據或者向在其中載入數據信息,但是做到這些,我們應該查驗文檔存不存在,因而,我們應該保證編碼


  不會因為IO不正確而停止


  #Checking if a file exists in two ways
  #1-Using the OS module
  import os
  exists=os.path.isfile('/path/to/file')
  #2-Use the pathlib module for a better performance
  from pathlib import Path
  config=Path('/path/to/file')
  if config.is_file():
  pass

  13.分析excel表


  另外一種非常普遍文件互動是以excel表中解析數據,大家應用CSV控制模塊來幫我們高效地實行該每日任務


  import csv
  csv_mapping_list=[]
  with open("/path/to/data.csv")as my_data:
  csv_reader=csv.reader(my_data,delimiter=",")
  line_count=0
  for line in csv_reader:
  if line_count==0:
  header=line
  else:
  row_dict={key:value for key,value in zip(header,line)}
  csv_mapping_list.append(row_dict)
  line_count+=1


  好啦,我們一起學了13個代碼片段,這種精彩片段簡易、簡潔明了且高效率,不管我們在哪些應用軟件行業工作中,最終會在對應的Python工程中最少應用其中一個,因此個人收藏就是一個不錯的選擇!


  綜上所述,這些文章就給大家介紹到這里了,希望可以給大家帶來幫助。

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

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

相關文章

  • DocumentFragment文檔碎片

    摘要:在樹中,文檔片段被其所有的孩子所代替。因為文檔片段存在于內存中,并不在樹中,所以將子元素插入到文檔片段時不會引起頁面回流對元素位置和幾何上的計算。因此,使用文檔片段通常會起到優化性能的作用。在里說過接口表示文檔的一部分或一段。 DocumentFragments 是DOM節點。它們不是主DOM樹的一部分。通常的用例是創建文檔片段,將元素附加到文檔片段,然后將文檔片段附加到DOM樹。在D...

    codercao 評論0 收藏0
  • 為什么標準化對網絡運營有利:創新而非障礙

    摘要:為什么標準化對網絡運營有利創新而不是阻礙標準化有時被視為對創新的攻擊。然而,以標準化為契機,為自動化系統和軟件建立堅實的基礎,有利于企業的發展。為什么標準化對網絡運營有利:創新而不是阻礙標準化有時被視為對創新的攻擊。被迫放棄多語種自助餐,采用更有限的菜單,聽起來總是令人窒息。這可能是因為標準化通常與監管合規標準有關,這些標準的官方名稱聽起來像是ISO 8076.905E,并與檢查表、審計員和...

    luckyw 評論0 收藏0
  • Java開發

    摘要:大多數待遇豐厚的開發職位都要求開發者精通多線程技術并且有豐富的程序開發調試優化經驗,所以線程相關的問題在面試中經常會被提到。將對象編碼為字節流稱之為序列化,反之將字節流重建成對象稱之為反序列化。 JVM 內存溢出實例 - 實戰 JVM(二) 介紹 JVM 內存溢出產生情況分析 Java - 注解詳解 詳細介紹 Java 注解的使用,有利于學習編譯時注解 Java 程序員快速上手 Kot...

    LuDongWei 評論0 收藏0
  • 為什么標準化對網絡運營有利:創新而非障礙

    摘要:為什么標準化對網絡運營有利創新而不是阻礙標準化有時被視為對創新的攻擊。然而,以標準化為契機,為自動化系統和軟件建立堅實的基礎,有利于企業的發展。為什么標準化對網絡運營有利:創新而不是阻礙標準化有時被視為對創新的攻擊。被迫放棄多語種自助餐,采用更有限的菜單,聽起來總是令人窒息。這可能是因為標準化通常與監管合規標準有關,這些標準的官方名稱聽起來像是ISO 8076.905E,并與檢查表、審計員和...

    suemi 評論0 收藏0

發表評論

0條評論

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