清單使我們以後最常用的資料類型之一,通過清單可以對資料實作最友善的存儲、修改等操作。
定義一個清單:
menu = ["青椒肉絲", "糖醋鯉魚", "紅燒牛肉", "爆炒肥腸", "可樂雞翅", "青椒炒辣椒",
"番茄炒蕃茄", "洋芋炖馬鈴薯", "糖醋鯉魚"]
# 通過下标通路清單中的元素,下标從 0 開始
print(menu[0])
print(menu[3])
print(menu[-1])
print(menu[-3])
# 切片,取多個元素
print(menu[:5]) # 取第零個到第四個,左閉右開區間
print(menu[2:5]) # 取第二個到第四個
# 支援負數索引範圍
print(menu[-5:-1]) # 取倒數第五個到倒數第二個
print(menu[-5:]) # 從倒數第五個取到最後一個
# 向清單中追加一個值
menu.append("什錦蘇盤")
# 擴充清單,可以把一個清單擴充到另一個清單裡邊
menu2 = ["鹵煮鹹鴨", "炒金絲", "燴銀絲"]
menu.extend(menu2)
print(menu)
# 按下标删除
del menu[6]
# 按内容删除
menu.remove("糖醋鯉魚") # 隻删除找到的第一個
print(menu)
# 如果想修改清單中的值,直接通過下标通路,重新指派即可
menu[6] = "上湯娃娃菜"
print(menu)
# 向指定的位置插入值, 其後元素,順延
menu.insert(2, "廚師長招牌菜")
print(menu)
# 統計某元素出現了幾次
cc = menu.count("糖醋鯉魚")
print(cc)
# 擷取某元素的下标,隻擷取找到的第一個
cc = menu.index("糖醋鯉魚")
print(cc)
元組其實和清單差不多,也是存一組資料,隻不過,元組一旦被建立,就不能修改,是以又叫隻讀列
表。
menu = ("青椒肉絲", "糖醋鯉魚", "紅燒牛肉", "爆炒肥腸", "可樂雞翅", "青椒炒辣椒",
"番茄炒蕃茄", "洋芋炖馬鈴薯", "糖醋鯉魚")
print(menu[0])
# menu 支援兩個方法。count、index,完畢
print(menu.index("紅燒牛肉"))
print(menu.count("紅燒牛肉")
程式練習:請寫出以下購物車程式
- 啟動程式後,讓使用者輸入自己的工資,然後列印菜單清單(要列印編号和商品名,商品名從一開始
- 數)
- 允許使用者根據商品編号購買商品
- 使用者選擇商品後,檢測餘額是否足夠,足夠就直接扣款,不夠就提醒充值
- 可随時退出程式,退出時,列印已購買的商品和餘。
salary = int(input("請輸入你的工資>>>")) # 菜單 menu = [["上湯娃娃菜", 100], ["清蒸哈什螞", 20], ["紅牛烤羊肉串", 50], ["番茄炒蕃茄", 26]] # 購物車 car_list = [] for i in menu: print("%d:" % (menu.index(i) + 1), "%s的價格是%d" % (i[0], i[1])) while True: product_num = input("請輸入想購買的商品>>>") if product_num == "q": print("已購買的商品:", car_list) print("目前餘額:", salary) print("結束程式") break product_num = int(product_num) # 取到使用者想購買的商品:menu[product_num - 1] want_product = menu[product_num - 1] # 判斷餘額是否充足 if salary >= want_product[1]: # 購買成功 salary -= want_product[1] # 餘額減去商品價格 car_list.append(want_product) else: print("餘額不足請充值")