1.列表、元組操作
列表是我們最以後最常用的數據類型之一,通過列表可以對數據實現最方便的存儲、修改等操作
定義列表
names = ["jack","tom","bob","jerry","bob"]
1.1通過下標訪問列表中的元素,下標從0開始計數
print(names[0])
jack
print(names[1])
tom
print(names[-1]) #倒着取
bob
1.2列表切片
print(names[0:3]) #切片,包頭不包尾
print(names[:3]) #切片,前面不寫默認從0開始,不包尾
print(names[1:]) #切片,從指定的下標開始包尾
print(names[-3:-1]) #從右往左包括尾
1.3列表的增、刪、改、查
1.3.1 增
names.append("majiang") #在列表的末尾追加
print(names)
names.insert(2,"sewei") #列表中插入到指定的位置
print(names)
1.3.2 刪
names.remove("bob") #刪除指定的
del names[1]
names.pop(2)
1.3.3 改
names[2] = "馬江"
print(names)
1.3.4 查
print(names.index("bob"))
1.4 列表擴展
name1 = [1,2,3]
names.extend(name1) #擴展列表
print(names)
1.5 反轉&排序
names.reverse() #反轉;在後面打印
names.clear() #清空數組
names.sort() #排序;按照ASSIC碼
1.6 列表copy
# Author:jack ma
import copy
names = ["jerry","tony","mj","hsw",["gg","mm"]]
names1 = copy.copy(names) #淺copy;只copy一層到第二層的時候就只copy內存地址;改names1第二層中的元素時names跟着變
name2 = copy.deepcopy(names) #深copy,第二層裏面的也會進行copy
for i in names: #取元素
print(i)
print(names[0:-1:2]) #設置布長切片0和-1都可以省略不寫(不包尾)
print(names[::2]) #包尾
print(names[:]) #打印所有
1.7 列表刪除
del names
1.8 統計
print(names.count("bob")) #統計bob在names列表中有多少個
1.9
元組其實跟列表差不多,也是存一組數,只不是它一旦創建,便不能再修改,所以又叫只讀列表
語法
names = ("alex","jack","eric")
1.10
程序:購物車程序
需求:
- 啓動程序後,讓用戶輸入工資,然後打印商品列表
- 允許用戶根據商品編號購買商品
- 用戶選擇商品後,檢測餘額是否夠,夠就直接扣款,不夠就提醒
- 可隨時退出,退出時,打印已購買商品和餘額
# Author:jack ma
product_list = [
("iphone",5800),
("mac pro",12000),
("bycle",800),
("watch",1800),
("book",80),
("coffe",30)
]
shopping_list = []
slary = input("input your slary:")
if slary.isdigit(): #isdigit() #方法檢測字符串是否只由數字組成。
slary=int(slary)
while True:
for dex,itm in enumerate(product_list): #enumerate()函數用於將一個可遍歷的數據對象(如列表、元組或字符串)組合爲一個索引序列,同時列出數據和數據下標,一般用在for循環當中。
print(dex,itm)
#print(product_list.index(itm),itm)
user_choice = input("你要買什麼?>>>:")
if user_choice.isdigit():
user_choice=int(user_choice)
if user_choice < len(product_list) and user_choice >= 0:
p_itm = product_list[user_choice]
if p_itm[1] <= slary: #買的起
shopping_list.append(p_itm)
slary -= p_itm[1]
print("Added %s into shopping cart,your current blance: \033[31;1m%s\033[0m" %(p_itm,slary))
else:
print("\033[31;1m你的餘額只剩%s還買個毛線\033[0m"%(slary))
else:
print("\033[31;1mproduct %s not exist\033[0m"%(user_choice))
elif user_choice == "q":
print("-----------shopping list-----------")
for i in shopping_list:
print(i)
print("你的餘額還剩下\033[31;1m%s\033[0m"%(slary))
exit()
else:
print("Invalid options")
2.