1. 程式人生 > >python-列表,元組,range

python-列表,元組,range

# 列表
# lst = ["光頭強", 1, True, {}, (1, ), {123}, ["周杰倫",[], "周杰", "結論"]]
# print(lst)

# 索引和切片
# lst = ["天龍八部", "西遊記", "紅樓夢", "銀平煤", "綠平煤"]
# print(lst[3])
# print(lst[-3])
# print(lst)
# print(lst[1:4]) # 切片,原來是什麼型別. 得到的就是什麼型別
# print(lst[-1::-2]) # 倒著切


# lst = ["凡人修仙傳", "誅仙", "神墓"]
# # 新增 append() 追加. 在後面新增
# lst.append("看見")
# lst.append("追風箏的人")
#
# # 插入 insert(位置, 元素), 效率相對比較低
# lst.insert(1, "琴帝")
#
# # 迭代新增, 把傳遞進去的引數進行迭代. 把每一項新增到列表的末尾
# lst.extend(["胡辣湯","豬蹄子", "豬頭肉", "五花肉"])
#
# print(lst)


# # 刪除
# lst = ["鬥破蒼求", "手機", "爵跡", "滿城盡帶黃金甲", "三生三世十里桃花"]
#
# # # pop() 預設從後往前刪
# # lst.pop()
# # # pop(索引) 按照索引位置刪除
# # lst.pop(1)
#
# # remove(元素) 移除
# # lst.remove("滿城盡帶黃金甲") # 當元素不存在的時候會報錯
#
# # del lst[::2] # 用切片或者索引刪除 不常用
# lst.clear() # 清空.
#
# print(lst)

# 修改
# lst = ["蘇秦", "武大", "武二", "寶元", "李誕", "池子", "王建國"]
# # lst[3] = "松江" # 通過索引修改 index out of range 索引下標越界
# # print(lst)
# # lst[1:3] = ["麻花藤"] # 迭代更新(不常用)
# # print(lst)
# lst[1:5:2] = ["麻花藤", "碼雲"] # 坑: 如果步長不是1. 元素的個數必須要和切片的個數一致
# print(lst)

# lst = ["alex", "wusir", "胡辣湯"]
# # 把列表中的wusir替換成大寫 WUSIR
# # 首先你要獲取到2元素
# # 變成大寫
# # 塞回去(必須要放回去)
# lst[1] = lst[1].replace("wusir", "WUSIR")
# print(lst)

# 查詢, 列表是一個可迭代物件
# lst = ["jay", "wlh", "lzw", "wf"]
# for item in lst: # item是lst中的每一項
# print(item)

# for i in 123: # 'int' object is not iterable
# print(i)

lst = [["張藝謀", "馮小剛", "陳凱歌"], ["李安", "王家衛", "王晶"], ["周杰倫",["abc", "alex_wusir", ["胡辣湯", "c"]], "風扇哥"]]
# print(lst[1][1][2])

# 把王晶換成"賈樟柯"

# lst[1][2] = "賈樟柯"
# print(lst)
# $$$$$$$
# 降維操作 ["哈哈", "hehe", "houhou"] 一維 [[1,2,3], [12,4,5], [6,7,8]] 二維
# 數數
lst[2][1][1] = lst[2][1][1].replace("_", "$")
print(lst)

# lst = ["太白", "太白", "太黑", "日天", "女神", "alex", "太白"]
#
# print(lst.count("太白")) # 檢視xxx元素出現的次數


# lst = [1, 8,12,22,1,1,2,33,4,5]
# # lst.sort() # 排序. 預設升序
# lst.sort(reverse=True) # reverse 反向, 降序
# print(lst)

# lst = ["赤木", "櫻木花道", "流川楓", "三井"]
# lst.reverse() # 把列表翻轉
# print(lst)

# lst= [1,2,3,4,5,"胡辣湯"]
# print(len(lst)) # 檢視列表中元素的個數

# list # 按住ctrl +滑鼠左鍵

# 元組用()表示, 只讀列表. 馮提莫
# tu = ("DNF", "LOL", "王者榮耀", "QQ飛車", "炫舞", {}, tuple(), [])
# print(tu)
# # tu[1] = "呵呵" # 'tuple' object does not support item assignment
# print(tu)

# 元組也有索引和切片
# print(tu[3:5])
# print(tu[3:7:2])

# 元組有坑
# 空元祖
# tu = tuple() # 固定寫法
# 元組中如果只有一個元素
# tu = (1) # 不是元組 <class 'int'>
# tu = (1, ) # 這個是元組 <class 'tuple'>
# print(type(tu))

# 好習慣: 寫元組的時候末尾加個逗號

# tu = ("鍋包肉", "酸菜燉粉條+五花肉", "紅燒鯉魚", "紅燒肉")
# # 元組也是可迭代的
# for item in tu: # 可以使用for迴圈
# print(item)


tu = (1, "哈哈", "胡辣湯", ["忍者", "神龜"])
# tu[1] = "呵呵" # 元組不可變
tu[3] = ["我是新列表"] # 改變了指向. 報錯
tu[3].append("孫悟空") # 元組沒改. 該的是元素內部 沒有改變元組的指向. 不報錯
print(tu)

# i = 1
# while i <=100:
# print(i)
# i += 1

# range(引數) [0,引數)
# for i in range(20): # range()可以被迭代 0-9
# print(i)

# range(引數1, 引數2) [引數1, 引數2) 切片
# for i in range(10, 20):
# print(i)

# range(引數1, 引數2, 引數3) [引數1, 引數2) 每隔引數3個位置取一個
# for i in range(10, 20, 3):
# print(i)

# lst = ["周杰倫", "動畫城", "大風車", "隨便加", "寶寶", "孟孟", "萌萌", "孟萌"]

# for item in lst: # 只能拿到元素. 獲取不到索引
# print(item)

# for i in range(len(lst)): # i就是索引 lst[i]元素
# print(i, lst[i])