iT邦幫忙

2021 iThome 鐵人賽

DAY 9
0
自我挑戰組

Python淺顯易懂的小教室系列 第 9

[Day_9]資料儲存容器 (2) - 串列(list)_(2)

接續昨天的內容,
今天要繼續介紹串列(list)喔~~
讓我們開始吧,

串接兩個串列

#input
todo_list_1 = ['打球','掃地','煮飯']
todo_list_2 = ['洗澡','出門']
todo_list_all = todo_list_1 + todo_list_2
print(todo_list_all)

#output
['打球', '掃地', '煮飯', '洗澡', '出門']

產生串列

1.使用「函式list」產生串列,函式list可以輸入字串或tuple

#input
ithelp_1 = list('ithelp')
print(ithelp_1)
tuple_1 = ('a','b',1,2)
ithelp_2 = list(tuple_1)
print(ithelp_2)

#output
['i', 't', 'h', 'e', 'l', 'p']
['a', 'b', 1, 2]

2.使用「函式split」也會回傳串列

#input
ithelp = '2021/9/23'.split('/')
print(ithelp)

#output
['2021', '9', '23']

使用「[開始:結束:間隔]」存取串列

使用「[開始:結束:間隔]」切割字串,從「開始」到「結束」(不包含結束的字元)每隔「間隔」個字元取一個字元出來

1.list[:]

#input
a = list('abcdefghijklmn')
print(a[:])

#output
['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n']

2.list[開始:] , list[:結束] , list[開始:結束」

#input
a = list('abcdefghijklmn')
print(a[2:])
print(a[:7])
print(a[2:7])
print(a[-2:])
print(a[:-7])
print(a[-7:-2])


#output
['c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n']
['a', 'b', 'c', 'd', 'e', 'f', 'g']
['c', 'd', 'e', 'f', 'g']
['m', 'n']
['a', 'b', 'c', 'd', 'e', 'f', 'g']
['h', 'i', 'j', 'k', 'l']

3.list[開始:結束:間隔]

#input
a = list('abcdefghijklmn')
print(len(a))
print(a[0:14:2])
print(a[-1:-15:-3])

#output
14
['a', 'c', 'e', 'g', 'i', 'k', 'm']
['n', 'k', 'h', 'e', 'b']

4.list[::-1]

#input
a = list('abcdefghijklmn')
print(a[::-1])

#output
['n', 'm', 'l', 'k', 'j', 'i', 'h', 'g', 'f', 'e', 'd', 'c', 'b', 'a']

拷貝串列

使用「[:]」與函式copy拷貝串列,會將串列複製一份與原來串列不同,是兩個不同的物件,佔有不同的記憶體空間,而使用等號「=」只是貼上變數名稱的標籤,以下例子介紹:

#input
list_1 = [1,2,3,4]
list_2 = list_1
print(list_1)
print(list_2)
list_1[2]=500
print(list_1)
print(list_2)
list_2[2]=600
print(list_1)
print(list_2)


#output
[1, 2, 3, 4]
[1, 2, 3, 4]
[1, 2, 500, 4]
[1, 2, 500, 4]
[1, 2, 600, 4]
[1, 2, 600, 4]

使用[:]與函式copy拷貝串列,會將串列複製一份,是兩個不同的物件,佔有不同的記憶體空間,修改時兩者不會互相影響,以下來看個例子:

#input
list_1 = [1,2,3,4]
list_3 = list_1[:]
print(list_1)
print(list_3)
list_1[2]=500
print(list_1)
print(list_3)
list_3[2]=600
print(list_1)
print(list_3)


#output
[1, 2, 3, 4]
[1, 2, 3, 4]
[1, 2, 500, 4]
[1, 2, 3, 4]
[1, 2, 500, 4]
[1, 2, 600, 4]

串列(list)介紹就到這邊了,
也希望大家可以融會貫通,
明天會介紹字典(dict),
大家加油喔~~
/images/emoticon/emoticon24.gif


上一篇
[Day_8]資料儲存容器 (2) - 串列(list)_(1)
下一篇
[Day_10]資料儲存容器(3) - 字典(dict)
系列文
Python淺顯易懂的小教室30

尚未有邦友留言

立即登入留言