---
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碼:

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!
:::