0x01 列表
用來保存一系列有序項目的集合。1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19# 訪問列表中的值
list1 = ['Google', 'Youtube', 2017, 2018]
list2 = [1, 2, 3, 4, 5, 6, 7 ]
print("list1[0]: ", list1[0])
print("list2[1:5]: ", list2[1:5])
# 更新列表內容
list = ['Google', 'Youtube', 2017, 2018]
print("The 3rd Element is ".list[2])
list = [2] = 2020
print("The New 3rd Element is ",list[2])
# 刪除列表內容
list = ['Google', 'Runoob', 1997, 2000]
print (list)
del list[2]
print ('删除第三个元素 : ', list)
列表函數
len(list)
- 列表裡面元素的數量。max(list)
- 返回列表元素最大值。min(list)
- 返回列表元素最小值。list(seq)
- 將元組轉為列表。
列表的使用方法
append()
list.append(obj)
- 在列表末尾添加新的對象。
使用例子1
2
3
4
5
6list1 = ['Google', 'Facebook', 'Twitter']
list1.append('Instagram')
print ("更新后的列表 : ", list1)
結果
更新后的列表 : ['Google', 'Facebook', 'Twitter', 'Instagram']
count()
list.count(obj)
- 統計某個元素在列表中出現的次數。
使用例子1
2
3
4
5
6aList = ['Google', 'Instagram','Facebook', 'Twitter', 'Instagram']
print ("Instagram元素個數 : ", aList.count('Instagram'))
結果
Instagram元素個數 : 2
extend()
list.extend(seq)
- 在列表末尾一次性追加另一個序列中的多個值(用新列表擴展原來的列表)。
使用例子1
2
3
4
5
6
7list1 = ['Google', 'Instagram','Facebook']
list2=list(range(5)) # 创建 0-4 的列表
list1.extend(list2) # 扩展列表
print ("擴展後的列表:", list1)
結果
擴展後的列表:['Google', 'Instagram','Facebook', 0, 1, 2, 3, 4]
pop()
list.pop(obj=list[-1])
- 移除列表中的一個元素
使用例子1
2
3
4
5
6
7
8
9list1 = ['Google','Instagram','Facebook']
list1.pop()
print ("列表現在為 : ", list1)
list1.pop(1)
print ("列表現在為 : ", list1)
結果
列表現在為 : ['Google', 'Instagram','Facebook']
列表現在為 : ['Google']
remove()
list.remove(obj)
- 用於移除列表中某個值的第一個匹配項。
使用例子1
2
3
4
5
6
7
8
9list1 = ['Google','Instagram','Facebook', 'Twitter']
list1.remove('Facbook')
print ("列表現在為 : ", list1)
list1.remove('Google')
print ("列表現在為 : ", list1)
結果
列表現在為 : ['Google', 'Instagram', 'Twitter']
列表現在為 : ['Instagram', 'Twitter']
reverse()
list.reverse((obj)
- 反向列表中元素。
使用例子1
2
3
4
5
6list1 = ['Google', 'Facebook', 'Taobao', 'Baidu']
list1.reverse()
print ("列表反轉後: ", list1)
結果
列表反轉後: ['Baidu', 'Taobao', 'Facebook', 'Google']
sort()
list.sort([func])
- 對原列表進行排序,如果指定參數,則使用比較函數指定的比較函數。
使用例子1
2
3
4
5
6list1 = ['Google', 'Runoob', 'Taobao', 'Baidu']
list1.sort()
print ("列表排序后: ", list1)
結果
列表排序后: ['Baidu', 'Google', 'Runoob', 'Taobao']
clear()
list.clear()
- 清空列表內容。
使用例子1
2
3
4
5
6list1 = ['Google', 'Runoob', 'Taobao', 'Baidu']
list1.clear()
print ("列表清空后: ", list1)
結果
列表清空后: [ ]
copy
list.copy()
- 複製列表
使用例子1
2
3
4
5
6list1 = ['Google', 'Runoob', 'Taobao', 'Baidu']
list2 = list1.copy()
print ("list2 列表: ", list2)
結果
list2 列表: ['Google', 'Runoob', 'Taobao', 'Baidu']
index()
list.index(obj)
- 從列表中找出某個值第一個匹配項的索引位置。
1 | list1 = ['Google', 'Runoob', 'Taobao','Twitter'] |
insert()
list.insert(index,obj)
- 將指定對象插入列表的指定位置。
1 | list1 = ['Google', 'Yahoo', 'Instargram'] |
0x02 元組
用來保存一系列有序項目的集合,只是裡面的內容無法更改。
1 | # 一般使用方法 |
可應用的函數
- len(tuple)
- max(tuple)
- min(tuple)
- tuple(seq) - 將列表轉為元組。
0x03 字典
屬於Associative arrays。字典是由键值(Keys)與數值(Values)組成。格式是這樣的d = {key1 : value1, key2 : value2 }
。其儲存方式為無序。
key的規則:不可以重複出現。例子若出現重複情況,python只會記住最新賦予的數值。
使用例子
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39dict = {'Alice': '2341', 'Beth': '9102', 'Cecil': '3258'}
# 訪問裡面的數值
dict = {'Name': 'Milo','Age': 24, 'Class': 'First'}
print ("dict['Name']: ", dict['Name'])
print ("dict['Age']: ", dict['Age'])
結果
dict['Name']: Milo
dict['Age']: 24
# 修改字典裡面的內容
dict = {'Name': 'Milo', 'Age': 24, 'Class': 'First'}
dict['Age'] = 8 # 更新年齡
dict['School'] = "W3School" # 加新的信息
print ("dict['Age']: ", dict['Age'])
print ("dict['School']: ", dict['School'])
結果
dict['Age']: 8
dict['School']: W3School
dict = {'Name': 'Runoob', 'Age': 7, 'Class': 'First'}
# 刪除自動字典裡面的內容
del dict['Name'] # 删除键 'Name'
dict.clear() # 清空字典
del dict # 删除字典
print ("dict['Age']: ", dict['Age'])
print ("dict['School']: ", dict['School'])
結果
Traceback (most recent call last):
File "test.py", line 9, in <module>
print ("dict['Age']: ", dict['Age'])
TypeError: 'type' object is not subscriptable
可以應用的函數
- len(dict) :計算字典裡面到底有多少個元素,就是Key的總數。
- str(dict):直接輸出整個字典。。
- type(variable):返回輸入的變數,如果變量為字典,則返回的對象會顯示
<class 'dict'>
字典內置方法
radiansdict.clear()
用來刪除字典裡面的所有元素
1
2
3
4
5
6
7
8dict = {'Name': 'Milo', 'Age': 24, 'Class': 'First'}
print ("字典長度 : %d" % len(dict))
dict.clear()
print ("字典删除后長度 : %d" % len(dict))
結果
字典长度 : 3
字典删除后長度 : 0
radiansdict.copy()
用来返回字典的浅複製。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19dict1 = {'user':'Milo','num':[1,2,3]}
dict2 = dict1
dict3 = dict1.copy() # 深Copy父對象(一級目錄),子對象(二級目錄)不copy。
# 修改data數據
dict1['user']='root'
dict1['num'].remove(1)
# 输出結果
print(dict1)
print(dict2)
print(dict3)
結果
{'user': 'root', 'num': [2, 3]}
{'user': 'root', 'num': [2, 3]}
{'user': 'Milo', 'num': [2, 3]}
# dict3的父對象進行了深Copy,因此不會隨著dict1修改而修改,子对象是浅copy會随dict1的修改而修改。
radiansdict.fromkeys()
創建一個新的字典,以序列seq中元素做字典的鍵,value為字典所有鍵對應的初始值。格式如下:dict.fromkeys(seq[, value]))
- seq – 字典键值列表。
- value – 可選參數,設置键序列(seq)的值。
1 | seq = ('name', 'age', 'book') |
radians.get(key,default=None)
返回指定鍵的值,如果值不在字典中返回default值。dict.get(key, default=None)
- key – 字典中要查找的鍵。
- default – 如果指定鍵的值不存在时,返回该默認值。
1 | dict = {'Name': 'Milo', 'Age': 24} |
key in dict
查看字典裡面是否存在某個鍵。1
2
3
4
5
6dict = {'Name': 'Milo', 'Age': 24}
if 'Age' in dict:
print ("鍵Age存在"))
結果
鍵Age存在
radiansdict.items()
返回一切字典裡面的Key和Value。1
2
3
4
5dict = {'Name': 'Milo', 'Age': 24}
print ("Value : %s" % dict.items())
結果
Value : dict_items([('Age', 24), ('Name', 'Milo')])
radiansdict.keys()
返回字典裡面所有的Key。1
2
3
4
5dict = {'Name': 'Milo', 'Age': 24}
print ("字典裡面所有的鍵為: %s" % dict.keys())
結果
字典裡面所有的鍵為: dict_keys[('Age','Name')])
radiansdict.setdefault(key, default=None)
如果Key在字典裡面,返回Defaut的Key以及其對應的Value,反之則新的Key的默認值None。
1 | dict = {'Name': 'Milo', 'Age': 24} |
radiansdict.update(dict2)
把dict2的值更新到dict裡面。
1 | dict = {'Name': 'Milo', 'Age': 24} |
radiansdict.values()
返回所有在字典裡面的值
1 | dict = {'Name': 'Milo', 'Age': 24,'Hobby': 'Diabolo'} |
pop(key[,default])
用來刪除字典給固定的鍵key所對應的值,返回的值是被刪除的值,因此必須給key,否則返回的會是Default的值。
1 | 'name': '量子城', 'post': 25, 'url': 'http://diabolo94.github.io/'} site= { |
popitem()
隨機返回並且刪除字典裡中的一對Key和Value,通常刪除最後的那一Pair。
1 | site= {'name': '量子城', 'post': 25, 'url': 'http://diabolo94.github.io/'} |
關於集合以後補上。