国产精品电影_久久视频免费_欧美日韩国产激情_成年人视频免费在线播放_日本久久亚洲电影_久久都是精品_66av99_九色精品美女在线_蜜臀a∨国产成人精品_冲田杏梨av在线_欧美精品在线一区二区三区_麻豆mv在线看

萬能Python的秘訣:操縱數據的內置工具

開發 后端
Python的萬能之處正在于其內置的數據結構,它使編碼變得簡單,不受數據類型限制,并可以根據需要操縱數據。

本文轉載自公眾號“讀芯術”(ID:AI_Discovery)。

Python可謂是如今最流行的編程語言,甚至孩子們也可以從它開始學習趣味編程。Python類似英語的簡單語法使它成為一種通用語言,已在全世界各個領域被廣泛使用。

Python的萬能之處正在于其內置的數據結構,它使編碼變得簡單,不受數據類型限制,并可以根據需要操縱數據。

[[349628]]

首先,讓我們試著理解什么是數據結構?數據結構是能夠存儲、組織和管理數據的結構/容器,以便能夠有效地訪問和使用數據。數據結構就是收集數據類型。Python中有四種內置數據結構。它們是:

  • 列表
  • 字典
  • 元組
  • 集合

開發人員最常用的數據結構是列表和字典。接下來,讓我們詳細看看每一個數據結構。

1. 列表

Python列表是按順序排列的任意類型的項的集合。一個列表可以有重復的項,因為每個項都是使用索引訪問的,而且可以通過使用負索引逆向訪問該列項。列表是可變的,這意味著即使在創建了項之后,也可以添加、刪除或更改項;一個列表中還可以包含另一個列表。

(1) 創建列表:

列表可以通過將元素括在[ ]方括號中來創建,每個項之間用逗號分隔。以購物清單為例,創建列表的語法是:

  1. #Creating a list fruits = ['Apple', 'Banana', "Orange"] 
  2. print(type(fruits)) #returns type 
  3. print(fruits) #prints the elements of the listOutput: 
  4.     <class 'list'> 
  5.     ['Apple', 'Banana', 'Orange'] 

(2) 訪問列表:

可以使用索引訪問列表中的項。列表中的每個項都有一個與之關聯的索引,具體取決于該項在列表中的位置。訪問列表中的項的語法:

  1. #Access elements in the fruits listfruits = ['Apple', 'Banana',"Orange"] 
  2. print(fruits[0]) #index 0 is the first element 
  3. print(fruits[1]) 
  4. print(fruits[2])Output: 
  5.     Apple 
  6.     Banana 
  7.     Orange 

但是,索引不必總是為正。如果想逆向訪問列表,也就是按照相反的順序,可以使用負索引,如下所示:

  1. #Access elements in the fruits list using negative indexesfruits = ['Apple','Banana', "Orange"] 
  2. print(fruits[-1]) #index -1 is the last element 
  3. print(fruits[-2]) 
  4. print(fruits[-3])Output: 
  5.     Orange 
  6.     Banana 
  7.     Apple 

如果必須返回列表中兩個位置之間的元素,則使用切片。必須指定起始索引和結束索引來從列表中獲取元素的范圍。語法是List_name[起始:結束:步長]。在這里,步長是增量值,默認為1。

  1. #Accessing range of elements using slicingfruits = ['Apple', 'Banana',"Orange"] 
  2.  
  3. fruits #all elements  
  4. ['Apple', 'Guava', 'Banana', 'Kiwi'] #output 
  5.  
  6. fruits[::1] #start to end with step 1 
  7. ['Apple', 'Guava', 'Banana', 'Kiwi'] #outputfruits[::2] #start to endwith step 2 basically index 0 & 2 
  8. ['Apple', 'Banana'] #output 
  9.  
  10. fruits[::3] #start to end with step 2 basically index 0 & 3 
  11. ['Apple', 'Kiwi'] #output 
  12.  
  13. fruits[::-1] #start to end with step 2 - reverse order 
  14. ['Kiwi', 'Banana', 'Guava', 'Apple'] #output 

(3) 向列表中添加元素:

可以使用append()、extend()和insert()函數向列表添加項。

  1. #Adding elementsfruits = ['Apple', 'Banana', "Orange"]#Appendnew elements 
  2. fruits.append('Kiwi') 
  3. print(fruits) 
  4.  
  5. Output:  
  6.     ['Apple', 'Banana', 'Orange', 'Kiwi']#Insertelements in to the listfruits.insert(1,'Guava') #inserts Guava as secondelement is the list since the index is specified as 1 
  7. print(fruits) 
  8.  
  9. Output:  
  10.     ['Apple', 'Guava', 'Banana','Orange', 'Kiwi']  

(4) 從列表中刪除項:

與添加元素類似,從列表中刪除元素也非常容易,可以使用del()、remove()和pop()方法實現。要清除整個列表,可以使用clear()函數。

  • del()函數刪除給定索引處的元素。
  • pop()函數從列表中刪除給定索引處的元素,也可以將刪除的元素賦值給變量。如果未指定索引值,則刪除列表中的最后一個元素。
  • remove()函數根據元素的值來刪除元素。
  • clear()函數清空列表。
  1. #Deleting elements from the listfruits = ['Apple', 'Guava', 'Banana','Orange', 'Kiwi'] 
  2.  
  3. #del() function 
  4. del fruits[3] #delete element at index 4 
  5. print(fruits) 
  6.  
  7. Output:  
  8.     ['Apple', 'Guava', 'Banana', 'Kiwi']#pop()function 
  9. del_fruit = fruits.pop(2) 
  10. print(del_fruit) 
  11. print(fruits) 
  12.  
  13. Output:  
  14.     'Banana'   
  15.     ['Apple', 'Guava', 'Orange', 'Kiwi'] 
  16.  
  17. #Remove function 
  18. fruits.remove('Apple') 
  19. print(fruits) 
  20.  
  21. Output:  
  22.     ['Guava', 'Banana', 'Orange', 'Kiwi'] 
  23.      
  24. #Clear() function 
  25. fruits.clear() 
  26. print(fruits) 
  27.  
  28. Output :  
  29.     [] # clears the list 

其他函數:

在處理列表時,還可以使用其他幾個函數:

  • len()函數返回列表的長度。
  • index()函數查找第一次遇到的傳入值的索引值。
  • count()函數查找傳遞給它的值的個數。
  • sorted()和sort()函數用于對列表的值進行排序。sorted()具有返回類型,而sort()修改原始列表。
  1. #Other functions for listnum_list = [1, 2, 3, 10, 20, 10] 
  2. print(len(num_list)) #find length of list 
  3. print(num_list.index(10)) #find index of element that occurs first 
  4. print(num_list.count(10)) #find count of the element 
  5. print(sorted(num_list)) #print sorted list but not change original 
  6. num_list.sort(reverse=True) #sort original list 
  7. print(num_list)Output: 
  8. [1, 2, 3, 10, 10, 20] 
  9. [20, 10, 10, 3, 2, 1] 

2. 字典

字典是另一種無序的數據結構,即元素的存儲順序與它們被插入的順序不同。這是因為索引值不能訪問字典中的元素。在字典中,數據以鍵值對的形式存儲,元素值是通過鍵訪問的。

[[349629]]

圖源:unsplash

(1) 創建字典:

字典由冒號分隔的{}大括號或使用dict()函數編寫鍵和值被創建。

  1. #Creating Dictionariesnew_dict = {} #empty dictionary 
  2. print(new_dict) 
  3.  
  4. new_dict = {1: 'Python', 2: 'Java'} #dictionary with elements 
  5. print(new_dict)Output: 
  6.     {} 
  7.     {1: 'Python', 2: 'Java'} 

(2) 改變并增加鍵值對:

要更改字典的值,將使用鍵來訪問鍵,然后相應地更改值。要添加值,只需添加另一個鍵-值對,如下所示:

  1. #Changing and Adding key, value pairslang_dict = {'First': 'Python','Second': 'Java'} 
  2. print(lang_dict) 
  3.  
  4. lang_dict['Second'] = 'C++' #changing element 
  5. print(lang_dict) 
  6.  
  7. lang_dict['Third'] = 'Ruby' #adding key-value pair 
  8. print(lang_dict)Output: 
  9.     {'First': 'Python', 'Second': 'Java'} 
  10.     {'First': 'Python', 'Second': 'C++'} 
  11.     {'First': 'Python', 'Second': 'C++','Third': 'Ruby'} 

(3) 訪問字典中的元素:

字典中的元素只能使用鍵訪問,可以使用get()函數或只是通過鍵來獲取值。

  1. #Accessing Elementslang_dict = {'First': 'Python', 'Second': 'Java'} 
  2. print(lang_dict['First']) #access elements using keys 
  3. print(lang_dict.get('Second'))Output: 
  4.     Python 
  5.     Java 

(4) 刪除字典中的鍵值對:

這些是字典中用于刪除元素的函數。

  • pop()-刪除值并返回已刪除的值
  • popitem()-獲取鍵值對并返回鍵和值的元組
  • clear()-清除整個字典
  1. #Deleting key, value pairs in a dictionarylang_dict = {'First': 'Python','Second': 'Java', 'Third': 'Ruby'} 
  2. a = lang_dict.pop('Third') #pop element 
  3. print('Value:', a) 
  4. print('Dictionary:', lang_dict) 
  5.  
  6. b = lang_dict.popitem() #pop the key-value pair 
  7. print('Key, value pair:', b) 
  8. print('Dictionary', lang_dict) 
  9.  
  10. lang_dict.clear() #empty dictionary 
  11. print(lang_dict)Output: 
  12.     Value: Ruby #pop element 
  13.     Dictionary: {'First': 'Python','Second': 'Java'} 
  14.     Key, value pair: ('Second', 'Java') #popthe key-value pair 
  15.     Dictionary {'First': 'Python'} 
  16.     {} #empty dictionary 

(5) 其他函數:

這是其他一些可以與字典一起使用的函數,用于獲取鍵值和鍵-值對等。

  1. #Other functions for dictionarylang_dict = {'First': 'Python','Second': 'Java', 'Third': 'Ruby'} 
  2. print(lang_dict.keys()) #get keys 
  3. print(lang_dict.values()) #get values 
  4. print(lang_dict.items()) #get key-value pairs 
  5. print(lang_dict.get('First'))Output: 
  6.     dict_keys(['First', 'Second','Third']) 
  7.     dict_values(['Python', 'Java','Ruby']) 
  8.     dict_items([('First', 'Python'),('Second', 'Java'), ('Third', 'Ruby')]) 
  9.     Python 

3. 元組

[[349630]]

圖源:unsplash

元組與列表基本相同,不同的是,一旦數據進入元組,無論如何都不能更改。因此,一旦生成元組,就不能添加、刪除或編輯任何值。

(1) 創建元組:

使用()圓括號或tuple()函數創建元組。

  1. #Creating Tuplesmy_tuple = (1, 2, 3) #create tupleprint(my_tuple)Output:    (1, 2, 3)#Creating Tuplesmy_tuple = (1, 2, 3) #create tuple 
  2. print(my_tuple)Output: 
  3.     (1, 2, 3) 

(2) 訪問元組中的元素:

訪問元組元素與列表類似。

  1. #access elementsmy_tuple2 = (1, 2, 3,'new') for x in my_tuple2:  
  2.     print(x) # prints all the elementsin my_tuple2print(my_tuple2) 
  3. print(my_tuple2[0]) #1st element 
  4. print(my_tuple2[:]) #all elements 
  5. print(my_tuple2[3][1]) #this returns the 2nd character of the element atindex 3  
  6. print(my_tuple2[-1]) #last elementOutput: 
  7.     1 
  8.     2 
  9.     3 
  10.     new 
  11.     (1, 2, 3, 'new') 
  12.     1 
  13.     (1, 2, 3, 'new') 
  14.     e 
  15.     new 

(3) 在另一元組中追加元素:

要追加值,可以使用'+'操作符。

  1. #Appending elementsmy_tuple = (1, 2, 3) 
  2. my_tuplemy_tuple = my_tuple + (4, 5, 6) #add elements 
  3. print(my_tuple)Output: 
  4.     (1, 2, 3, 4, 5, 6) 

(4) 元組賦值:

元組打包和解包操作很有用,執行這些操作可以在一行中將另一個元組的元素賦值給當前元組。元組打包就是通過添加單個值來創建元組,元組拆包則是將元組中的值分配給變量。

  1. #tuple packing 
  2. planets = ('Earth','Mars','Jupiter') 
  3.  
  4. #tuple unpackinga,b,c = planets 
  5. print(a) 
  6. print(b) 
  7. print(c)Output: 
  8.     Earth 
  9.     Mars 
  10.     Jupiter 

4. 集合

圖源:unsplash

集合是唯一的無序元素的集合。這意味著,即使數據重復一次以上,集合也只保留一次。

(1) 創建集合:

使用{ }花括號創建集合,并賦值。

  1. #Creating setsnew_set = {1, 2, 3, 4, 4, 4, 5} #create set 
  2. print(new_set)Output: 
  3.     {1, 2, 3, 4, 5} 

(2) 向集合中添加元素:

使用add()函數賦值并添加元素。

  1. #Adding elements to a Setnew_set = {1, 2, 3} 
  2. new_set.add(4) #add element to set 
  3. print(new_set)Output: 
  4.     {1, 2, 3, 4} 

(3) 集合操作:

可以對一個集合執行的不同操作如下所示。

  • union()函數合并了兩個集合中的數據。
  • intersection()函數只查找在這兩個集合中同時出現的數據。
  • difference()函數刪除兩個集合中同時存在的數據,并只輸出在傳遞的集合中存在的數據。
  • symmetric_difference()函數執行與difference()函數相同的操作,但是輸出在兩個集合中保留的數據。
  • clear()函數清空該集合。
  1. #Operations on set 
  2. my_set = {1, 2, 3, 4} 
  3. my_set_2 = {3, 4, 5, 6} 
  4.  
  5. print(my_set.union(my_set_2)) 
  6. print(my_set.intersection(my_set_2)) 
  7. print(my_set.difference(my_set_2)) 
  8. print(my_set.symmetric_difference(my_set_2)) 
  9.  
  10. my_set.clear() 
  11. print(my_set)Output: 
  12.     {1, 2, 3, 4, 5, 6} 
  13.     {3, 4} 
  14.     {1, 2} 
  15.     {1, 2, 5, 6} 
  16.     set() 

Python為我們有效管理、組織和訪問數據提供了多種選項,學習其基本內置數據結構是Python學習之旅非常關鍵的一環。

 

責任編輯:趙寧寧 來源: 今日頭條
相關推薦

2020-10-18 12:36:06

Python開發函數

2022-06-27 08:36:08

PythonLambda

2015-08-26 13:49:28

數據中心

2011-06-16 15:57:25

Android

2014-02-17 10:56:21

Hadoop

2022-11-30 13:13:41

節能減碳PUE

2009-12-03 18:13:36

PHP萬能密碼

2021-09-04 00:11:32

大數據Hadoop工具

2012-02-28 10:06:34

虛擬化容災災備

2016-11-24 12:07:42

Android萬能圓角ImageView

2024-12-09 09:25:30

2024-03-06 11:16:10

2013-10-18 11:12:30

2015-07-02 10:17:55

藍牙物聯網

2018-08-22 08:55:06

云計算數據中心托管

2020-06-16 08:32:00

人工智能技術機器學習

2022-11-21 09:57:18

網關系統

2022-06-23 18:10:15

多云

2009-02-27 13:48:00

Mdaemon郵件服務器

2018-09-26 17:37:21

點贊
收藏

51CTO技術棧公眾號

国产ts人妖一区二区| 欧美日韩在线一区二区| 久久99精品久久久久久水蜜桃| 成人国产精品| 欧美精品日韩综合在线| 超碰在线电影| 自拍偷拍亚洲欧美日韩| 国产日韩一区二区在线观看| 精品一区二区免费看| 免费毛片一区二区三区久久久| 天天天综合网| 国产不卡在线观看| 天堂俺去俺来也www久久婷婷| 久久手机精品视频| 成人黄色视屏网站| 亚洲欧美日韩一区在线| av日韩国产| 精品乱码亚洲一区二区不卡| 欧美成人免费网| 丝袜美腿诱惑一区二区三区| 亚洲国产成人久久| 性欧美高清come| 欧美三电影在线| 麻豆传媒视频在线观看| 884aa四虎影成人精品一区| 岛国大片在线观看| 欧美日韩三级一区| 黄视频网站在线看| 亚洲电影免费观看| 中文不卡1区2区3区| 在线电影av不卡网址| 99久久久国产精品免费调教网站| 日韩在线视频中文字幕| av网址在线免费观看| 欧美激情视频网| 98视频精品全部国产| 精品三级av在线| 亚洲精品久久久蜜桃| 日韩精品视频久久| 久久综合狠狠综合久久综合88| 久久综合入口| 精品福利在线视频| 亚洲黄色免费av| 久久久国产精品不卡| 中文字幕在线观看第三页| 国产精品福利影院| 在线观看免费视频一区二区三区| 日韩欧美在线一区| 麻豆福利在线观看| 日韩色av导航| 亚洲精品亚洲人成在线观看| 国产精品十八以下禁看| 亚洲欧美日韩专区| 国产96在线 | 亚洲| 亚洲乱码国产乱码精品精可以看| 加勒比一区二区三区在线| 欧美大胆一级视频| 国产亚洲久久| 国产精品久久久久久久久久尿| 亚洲一区国产一区| 成人中文字幕在线播放| 一区二区三区在线视频观看| 成人免费视频| 日韩中文字幕不卡视频| 日韩精品1区| 欧美日韩在线免费观看视频| 综合av第一页| 国产盗摄一区二区| 欧美最猛性xxxxx免费| 老色鬼久久亚洲一区二区| 男女曰b免费视频| 欧美老肥妇做.爰bbww| 国产精品久一| 久久国产一区| 国产欧美一区二区精品仙草咪| 国产香蕉视频在线看| 色偷偷av一区二区三区| 影音先锋日韩精品| 国产91在线视频观看| 欧美天堂一区二区三区| 爱情电影网av一区二区| 成人国产一区二区| 91香蕉视频污| 视频在线这里都是精品| 欧美最猛性xxxx| 久久精品国产精品亚洲综合| 国产不卡视频| 亚洲男人的天堂在线| 国产一区二区三区四区大秀| 中文精品一区二区三区| 午夜一区二区三区在线观看| 91国内外精品自在线播放| 国产99在线免费| 欧美国产丝袜视频| sm性调教片在线观看| 成人动漫网站在线观看| 91麻豆免费在线观看| 婷婷av在线| 91精品国产自产在线观看永久| 97国产一区二区| 91制片在线观看| 成人av电影免费| 免费福利影院| 欧美hdsex| 亚洲第一精品久久忘忧草社区| 手机在线电影一区| 免费大片在线观看| 日韩精品极品在线观看| 久久精品免费一区二区| 日韩欧美国产精品一区| 一区二区三区午夜视频| 国产色视频在线播放| 亚洲色图综合网| 免费在线观看日韩欧美| 国产三区四区在线观看| 国产精品久久久久久久久久久新郎 | 国产美女精品写真福利视频| 91在线观看免费观看| 亚洲黄色免费网站| gogo人体一区| 免费在线观看毛片网站| 亚洲欧洲日产国产网站| 日本va欧美va精品| 搞黄网站在线观看| 成人女人免费毛片| 一本一道久久a久久精品 | 亚洲视频在线视频| 国产精品另类一区| 日韩精品亚洲专区| 欧美精品一区免费| 亚洲网址你懂得| 麻豆国产一区二区| 国产黄在线观看免费观看不卡| 在线一二三区| 成人免费黄色网址| 五月久久久综合一区二区小说| 国产激情片在线观看| 91成品人片a无限观看| 老鸭窝一区二区久久精品| h片在线免费观看| 久久香蕉综合色| 日韩美女一区二区三区| 免费在线看成人av| 最新欧美电影| 国产无套内射久久久国产| 久久精品中文字幕免费mv| 国产亚洲短视频| 香蕉精品久久| 日本一卡二卡四卡精品 | 国产精品白丝久久av网站| 另类小说第一页| 国产精品高清免费在线观看| 色综合久久中文综合久久97| 新67194成人永久网站| 性欧美xxx69hd高清| 日韩中文字幕三区| 17婷婷久久www| 色视频一区二区| 麻豆91在线观看| 国产一区二区在线观| 福利h视频在线| 免费一区二区三区| 精品国内亚洲在观看18黄 | 欧美亚洲不卡| 黄频免费在线观看| 大香煮伊手机一区| 成人性教育视频在线观看| 日韩网站在线看片你懂的| 国产成人精品在线看| 亚洲三级网页| 91福利国产在线观看菠萝蜜| 男人添女荫道口喷水视频| 欧洲精品久久久| 欧美一区二区女人| 99国内精品久久| 婷婷综合网站| 中文在线免费二区三区| 男女羞羞视频网站| 欧美一区国产一区| 97精品国产97久久久久久春色| 欧美色区777第一页| 91视频国产观看| 欧美fxxxxxx另类| 成人不卡视频| 伊人av免费在线观看| 欧美精品久久96人妻无码| 国产mv免费观看入口亚洲| 日韩亚洲欧美成人一区| 国产人久久人人人人爽| 亚洲一区成人| 日本超碰一区二区| free性欧美hd另类精品| 亚色视频在线观看| 欧美日本韩国一区| 福利电影一区二区| 精品91在线| 日韩美女毛片| 卡通欧美亚洲| 国产三级在线看| www浪潮av99com|