這四個都是「容器」的一種,所以蠻容易搞混的,今天的目標是聽完之後可以分辨它們的不同。
如果記不起來也沒關係啦,文章在這,再回來翻就行。
字符串 | 列表 | 字典 | 元組 | |
---|---|---|---|---|
表示 | 單引號 '' 或雙引號 "" | 中括號 [ ] | 大括號 { } | 圓括號 ( ) |
可變性(創建後可否更改) | 不可變 | 可變 | 可變 | 不可變 |
組成 | 由字符組成 | 一系列元素 | 一系列的鍵值對(key-value pairs) | 一系列的元素組成 |
分隔 | 無 | 元素間用逗號 , | 鍵間用冒號 : 值間用逗號 , | 元素間用逗號 , |
示例 | 'Hello' | [1, 2, 3, 'hello'] | {'name': 'John', 'age': 30} | (1, 2, 3, 'world') |
由字符組成,可以用單引號
''
或雙引號""
包裹。
字符串示例
f="abcdefg"
找出特定位置的字符
要記得,python是從0開始數,不是從1哦!
所以下面這行的結果會返回的是”abcdefg”中的”b”,不是"a”。
f="abcdefg"
f[1] # 返回是b
用切片抓出特定的字符 / 字串
從x切到y的語法是[x:y],要注意的是y實際不會切進去!
所以下面這行的結果實際返回的會是0~4,”abcde”。
f="abcdefg"
print(f[0:5])
# 如果要從開始切到某一個數字,前面那格可以直接空著,比如:
f[:5] # 返回是abcde
# 同理,想從某位切到最後,後面那格也可以空著:
f[3:] # 返回是defg
用in看某些字符是不是在字串裡
f="abcdefg"
'd'in f # 因為字符串f裡有'd'這個字符,所以會返回Ture
'y'in f # 裡面沒有'y'這個字符,所以會返回False
不可變
因為不可變,所以如果要變化,只能另開一個新的字符串
f="abcdefg"
# 直接改變內容的方法會出現錯誤(下列是將第0位改成c)
f[0]=c
# 需要另外開一個字串,下列是新創一個字符串容器,先放c,再加上f從第1位(不是第0位歐)到最後
nf='c'+f[1:]
字符串轉換成列表
f="abcdefg"
n="You Are"
# 第一種,list()
t=list(f) # 結果返回['a','b','c','d','e','f','g'],這就是一個列表
# 第二種,split()
y=split(n) # 結果返回['You','Are'],這也是一個列表
列表是由一系列元素組成的,用方括號
[]
包裹,元素之間用逗號,
分隔。
列表示例與基本操作方法:
t=[1,2,3,4,5,'hello]
t2=[6,7,8,9]
t3=[2,4,3,5,6,7,2,4,7]
# 加到後面
t.append('d') # 會返回[1, 2, 3, 4, 5, 'hello', 'd']
# 加列表到後面
t.extend(t2) # 會返回[1, 2, 3, 4, 5, 'hello', 6, 7, 8, 9]
# 將列表元素從低到高排列
t.sort(t3) # 會返回[2, 2, 3, 4, 4, 5, 6, 7, 7]
# 函數方法
sum(t3) # 會返回40
字典是由一系列的鍵值對(key-value pairs)組成的,用花括號
{}
包裹,每對鍵值之間用冒號:
分隔,鍵值對之間用逗號,
分隔。
movie = {'name':'阿凡達', 'year':2009, ……}
字典示例與操作方法:
# 字典的基本組成
{鍵(key):值(value),鍵:值,……}
# 創建字典
en=dict()
# 加入數值
en['one']='uno' # 會返回{'one': 'uno'}
# 以鍵快速查找值
print(en['one']) # 會返回'uno'
因為像len()、in這種函數和方法,只會算「鍵」,所以如果要算值要先經過轉換:
en=dict()
en['one']='uno'
en['two']='yeah'
# in只會看鍵
'one'in en # 會返回Ture
'uno'in en # 會返回False
# 轉換
e=list(en.values()) # 會返回['uno', 'yeah'],這時候用in找'uno'就會是Ture了
元組是由一系列的元素組成的,用圓括號 () 包裹,元素之間用逗號 , 分隔。
元組示例:
# 只有一個元素,最後面要加逗號
t=('a',)
# 多個元素就不用
y=(1, 2, 3, 'world')
# 將列表轉換成元組
x = ['one','two','three','four']
y = tuple(x) # 會返回('one', 'two', 'three', 'four')
讀取變數:
y=('one', 'two', 'three', 'four')
# 第一種,用位置
print(y[0]) # 返回'one'
# 第二種,賦予變數(tuple可以一次賦予多個變數內容)
a,b,c,d=y # 一次賦予變數,記得元組、變數數量要等同
print(a) # 返回'one'
今天就先介紹到這邊,如果有什麼沒注意到或可以補的,請各位再提出來。
因為整理到後面自己都有點暈惹@@