---
# System prepended metadata

title: Python學習筆記之路 第三回(上)
tags: [筆記]

---

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


