1. 程式人生 > >python 第三天 資料型別之方法

python 第三天 資料型別之方法

# list

# [element, , , ]  element 數字 字串 列表 bool 等等都可以
# str 字串集合 list 容器

# 取範圍 得到list

li = [1, 2, 3, 4, 5, 6, 7]

print(li, li[1:3])

for item in li: # list 中,分隔元素,為整體 str 中以子集
	print(item)
	
# 字串不可以 增刪改 列表可以

li[0] = [0, 1] # 列表中的列表操作[][][]
print(li)

del li[1] # 可以範圍刪除
print(li)

# str 轉 list
str1 = "ABCDEFG"
li = list(str1) # 預設每個字元為一個元素 for迴圈 要求被轉換的可以迭代
# int 不可以轉成list 不可迭代
# list 轉 str 將逗號等等全部轉換 需要自己實現for 或者 "".join() 只有字串時

# 函式

li = [1, 2, 3, 4, 5, 6, 7]
li.insert(0, -1) # 指定位置插入
li.append(8) # 追加
li.append([9, 10]) # 整體追加 保留[]
li.extend([9, 10]) # 引數要求可迭代 通過for追加 無[] 如果是字串 單字元for追加
# li.clear() # 清空
i = li.pop(0) # 預設刪除最後一個值 可以獲取到刪除的值 引數 索引
li.remove(10) # 刪除指定值 只刪除第一個
li_ = li.copy() # 淺拷貝

num = li.count(1) # 計數 引數出現次數

print(li_)

inum = li.index(3) # 根據值找到索引 從前向後 找到第一個停止
# 第二個預設引數 start 第三個預設引數 stop
li.reverse() # 反轉 反序
print(li)

li.remove([9, 10])
li.sort() # 預設從小到大排序 引數 reverse=True 從大到小排序
print(li)

# 元組 tuple 不可增刪改減

tu = (11, 22, 33, 44, ) # 一般在元祖最後加一個逗號, 避免與函式混淆

# 支援 索引 範圍分割 迭代 全為str時支援join()

# list中extend() 可增加tuple

# tuple 中的 list可以修改內部元素

# count()  index()

# dict 無序 每次列印的值不同 根據key取值 不支援範圍取值

info = {
	"k1" : "v1", # 鍵值對
	"k2" : "v2",
	"k3" : [11, 22, 33, 44],
	"k4" : 1000
}
# 不可修改的值才能作為鍵key 原因 hash點
# key值重複 被覆蓋

del info["k4"]
print(info)

# 對字典迴圈預設迴圈key info.keys() info.values() info.items() 鍵值對

for i,v in info.items():
	print(i, v)

# 給定key 建立 字典
info = info.fromkeys(["k1", 1, "k2"])
print(info)
info = info.fromkeys(["k1", 1, "k2"],1) # 只能指定統一值
print(info)

v = info.get('k1', "True") # 根據key獲取值 預設返回None 或者第二個引數
print(v)
 
v = info.pop('k1', "True") # 移除 預設返回key對應值 第二個引數指定返回值
print(info, v)

v = info.popitem() # 隨機刪除 返回被刪除的鍵值對
print(info, v)

info = {
	"k1" : "v1", # 鍵值對
	"k2" : "v2",
	"k3" : [11, 22, 33, 44],
	"k4" : 1000
}

v = info.setdefault("k5", 2000) 
# 若不存在 則設定並返回key值對應值 若存在 返回key值對應值
print(info, v)

info.update(k4=0, k6="無窮") # 更新 存在的更改 不存在的增加
print(info)

# format傳字典

str1 = "my name is {name}, and age is {age}"
v = str1.format(**{"name":"hm", "age":18})
print(v)

# bool None "" () [] {} 0 False