1. 程式人生 > 其它 >基礎資料內建方法2

基礎資料內建方法2

目錄

1.字典與內建方法

型別轉換(資料轉換)(dict())

#標題:
d1 = {'name': 'jason','age': 18,'hobbies': ['play game', 'basketball']}

2.內建方法

2.1按K取值
也可以當做索引取值但是可以取‘鍵’
如果字典裡沒有鍵 或者 沒有字元 那麼他只會出現None不會報錯
2.2修改值 
print(id(d1))
d1['name'] = 'jasonDSB'  # 鍵存在是修改值
print(d1, id(d1))
2.3新增鍵值對
d1['pwd'] = '123'
print(d1)
2.4統計字典中鍵值對的個數
len
支援for迴圈型別的 都可以用到 len 統計個數
2.5成員運算
in 成員運算只能查詢到 鍵 查不到值
2.6刪除鍵值對
print(d1.pop('age'))  #18 彈出 
2.7獲取的所有的鍵 和所有的值和鍵值對
keys
print(d1.keys())  #獲取所有的鍵
values
print(d1.values()) #獲取所有的值
items
print(d1.items()) #獲取所有的鍵值對
values
for v in d1.values()
prtin(v)   #只可以獲取字典的鍵
-----以上獲取到的都是用列表方式進行表達-----
-----瞭解下就好-----
注:題目 cmd = {'k1':'thn', 'k2',thn1,'k3':'thn2'}
2.8字典更新
update
cmd.update({'k1':'thn','k4':'000')}
print(cmd) #鍵在的話修改 鍵不在則新增
#{'k1':'thn', 'k2',thn1,'k3':'thn2''k4':'000'}
---
2.9字典快速生成
fromkeys
cmd = dict.fromkeys(['k1','k2','k3'][])
#分別給鍵增加值也就是[]
2.10新增鍵值對
setdefault
prtin(dic.setdefauit('k4',333))
#鍵不在則新增鍵值對 鍵在則代替返回結果是新增的值

3.元組內建方法

1.型別轉換
支援for迴圈的資料型別都可以轉換為元組資料型別
2.元組特性
t1 = (11, 22, 33, 44)
print(type(t1))  # <class 'tuple'>
t2 = (11)
print(type(t2))  # int
t2 = (11.11)
print(type(t2))  # float
t2 = ('jason')
print(type(t2))  # str
當元組內只有一個元素的時候 一定要在元素的後邊加上逗號
t2 = (11,)
print(type(t2))  # tuple
t2 = (11.11,)
print(type(t2))  # tuple
t2 = ('jason',)
print(type(t2))  # tuple
··一般情況下我們習慣將所有可以儲存多個數據型別的資料
----------如果內部元素只有一個 那麼也會加逗號
1.索引取值
print(t1[0])
print(t1[-1])
2.切片操作
print(t1[1:4])
print(t1[-1:-4:-1])
print(t1[-4:-1])
3.間隔
print(t1[1:4:2])  # (22, 44)
4.統計元組內元素的個數
print(len(t1))  # 6
5.成員運算
print(11 in t1)  # True
6.統計某個元素出現的次數
print(t1.count(22))
7.元組內元素不能"修改": 元組內各個索引值指向的記憶體地址不能修改
t1[0] = 111

4.集合內建方法

1.型別準換
集合內的元素只能是不可變數型
字串符,列表,元組,集合
--集和--
集合只有兩個功能
1.去重:去重重複的元素
2.運算關係:判斷兩個元素共同的差異
1.重複
s1 ={1,1,1,1,1,1,2,2,2,2,2,1,2,3,2,2,1,2,3,2,3,4,3,2,3}
print(s1)  # {1, 2, 3, 4}
l = ['a', 'b', 1, 'a', 'a']
s1 = set(l)
l = list(s1)
print(l)
2.關係運算
f1 = {'jason', 'kevin', 'tony', 'jerry'}  # 小李的好友列表
f2 = {'jason', 'tom', 'jerry', 'jack'}  # 小王的好友列表
1.求兩個人的共同好友
print(f1 & f2)  # {'jerry', 'jason'}
2.求小李的單獨好友
print(f1 - f2)  # {'kevin', 'tony'}
3.求兩個人所有的好友
print(f1 | f2)  # {'kevin', 'jack', 'tom', 'jason', 'jerry', 'tony'}
4.求兩個人各自的好友
print(f1 ^ f2)  # {'jack', 'tony', 'tom', 'kevin'}

5.垃圾回收機制

1.引用計數:
name = 'thn' #thn引用資料為1
a = name     #thn引用資料為2
··記憶體中資料身上繫結的變數名的個數···
2.標記清除:
當記憶體空間滿的時候pyton會啟動應急機制停止程式執行一個一個檢查引用數值並給計數為0的資料打上一個標記並且一次性清除掉
3.分代回收
根據資料存在時間的長短 將資料劃分為1.2.3個等級
等級1 檢測時間較短
等級2 檢測時間中等
等級3.檢測時間較長
打過標記的為0的資料直接清除