--- title: 'Python學習筆記' disqus: hackmd --- Python 學習筆記之路 Part.3(上) = > 上一回(第二回)講了函數製作與數據容器 > [第一回](<https://hackmd.io/@wr2rCYhVRSeVzSIPcixIiQ/Hk5UQ9b-a>) > [第二回](<https://hackmd.io/wVM476iMRIqXglr77AA61g> "Title") > > 此回要接續上篇,著重介紹:數據大小的比較、轉換 目錄 == [TOC] 數據大小的比較 == > 現在我們創建4種數據類型判斷其內含數據大小,接著將結果print出來 > >List、Tuple、Str、Dict ```gherkin= my_list = [1,5,6,8,9,124,67,98] my_tuple = (0,2,3,4,5,6,7,8) my_str = "abcdfeghijk" my_dict = {"key1":1,"key2":2,"key3":3,"key4":0} print(max(my_list)) print(max(my_tuple)) print(max(my_str)) print(max(my_dict)) print(min(my_list)) print(min(my_tuple)) ``` >Output ``` 124 8 k key4 1 0 ``` 這時候你大概有些疑問,int數據能夠理解,但str與dict是怎麼去比較的呢? 那我們就不得不提到大名鼎鼎的ASCII碼: ![](https://hackmd.io/_uploads/S1fSwBSzT.png) ASCII全名為American Standard Code for Information Interchange,美國標準資訊交換碼,可以想成用來轉換的交換碼,我們都知道電腦是二進制,那我們要如何讓電腦知道A這個字母呢?我們只需要讓0100 0001為A,那電腦就會知道這個是A,從而去判斷。 那我們現在有了轉換表之後就能利用這張表去判斷大小了 > 字典那地方要注意,他比的是前面的字,而不是key所代表的值。 > 可以發現Key大家都一樣,接著繼續比後面的1、2、3、4,最後是key4最大 數據類型轉換 == ### 轉換成list: ```gherkin= print(list(my_tuple)) ## 單純將tuple轉成list print(list(my_dict)) ## 特別注意,他會將value拋棄只留下key print(list(my_str)) ## 會將每個元素取出來 ``` ### 轉換成tuple: ```gherkin= print(tuple(my_list)) print(tuple(my_dict)) ## 特別注意,他會將value拋棄只留下key print(tuple(my_str)) ``` ### 轉換成str: ```gherkin= print(str(my_dict)) ## 所有元素都可以保留下來 print(str(my_list)) ## 雖然print出來是[1, 5, 6, 8, 9, 124, 67, 98] ## 但在代碼中是"[1, 5, 6, 8, 9, 124, 67, 98]" print(str(my_tuple)) ## 雖然print出來是(0, 2, 3, 4, 5, 6, 7, 8) ## 但在代碼中是"(0, 2, 3, 4, 5, 6, 7, 8)" ``` > 註: set > 單純將所有元素都轉換成集合 > 任何括號都會改成{} > 轉換成集合後, abcdefgh會亂數排>序, 例如:adbcehgf >dict 因為無法憑空變出value, 所以不好用也很難處理 數據的排序功能 == >數據的排序功能: 要倒序就是在後面加上reverse 倒序語法:sorted(volume,reverse = True) ### 數據排序範例: ```gherkin= my_list = [1,5,6,8,9,124,67,98] my_tuple = (0,2,3,10,5,6,7,8) my_str = "asdfghjkl" my_dict = {"key1":8,"key2":2,"key4":6,"key3":3} print(sorted(my_list)) print(sorted(my_tuple)) print(sorted(my_str)) print(sorted(my_dict)) ## sorted在排序dict時並不參考value,是參考key的值 ``` ## 結語 這篇其實很短,只是短短介紹了數據的轉換與ASCII碼的使用,因為接下來要進行文件處理,放在這裡感覺不太 妥,所以Part.3分成(上)(下)來記錄 :::info **Find this document incomplete?** Leave a comment! :::