經過了一段時間的學習,慢慢的計入到了python的列表、元組的學習了,這一部分是後面函數的基礎,這也是無論何種語言都要學習的部分。其實過程很辛苦,不過對於小白的我不見得是一件壞事,反正都看不懂,倒也沒有什麼心理負擔。想想學成後的一覽眾山小,此時的積累,便是每一步都要堅實的。 列表、元組 列表是我們最 ...
經過了一段時間的學習,慢慢的計入到了python的列表、元組的學習了,這一部分是後面函數的基礎,這也是無論何種語言都要學習的部分。其實過程很辛苦,不過對於小白的我不見得是一件壞事,反正都看不懂,倒也沒有什麼心理負擔。想想學成後的一覽眾山小,此時的積累,便是每一步都要堅實的。
列表、元組
列表是我們最以後最常用的數據類型之一,通過列表可以對數據實現最方便的存儲、修改等操作。
定義列表
names = ["A","B","C","D"]
通過下標訪問列表中的元素,下標從0開始計數
names[0] #此時結果是A
names[2] #此時結果是C
names[-1] #此時結果是D
names[-2] #此時結果是C
切片:取多個元素
>>> names = ["Alex","Tenglan","Eric","Rain","Tom","Amy"]
>>> names[1:4] #取下標1至下標4之間的數字,包括1,不包括4
['Tenglan', 'Eric', 'Rain']
>>> names[1:-1] #取下標1至-1的值,不包括-1
['Tenglan', 'Eric', 'Rain', 'Tom']
>>> names[0:3]
['Alex', 'Tenglan', 'Eric']
>>> names[:3] #如果是從頭開始取,0可以忽略,跟上句效果一樣
['Alex', 'Tenglan', 'Eric']
>>> names[3:] #如果想取最後一個,必須不能寫-1,只能這麼寫
['Rain', 'Tom', 'Amy']
>>> names[3:-1] #這樣-1就不會被包含了
['Rain', 'Tom']
>>> names[0::2] #後面的2是代表,每隔一個元素,就取一個
['Alex', 'Eric', 'Tom']
>>> names[::2] #和上句效果一樣
['Alex', 'Eric', 'Tom']
插入
names =["A","B","C","D"]
names.append("E")
names.insert(1)
>>>A,E,B,C,D
修改
names =["A","B","C","D"]
names[2] ="E"
>>>A,B,E,D
刪除
names =["A","B","C","D"]
方法一:names.remove("A")
print(names)
此時輸出的值是:B,C,D
方法二:del names[0]
print(names)
此時輸出的值是:B,C,D
names.pop(0)
print(names)
此時輸出的值是:B,C,D #如果pop()不寫數字,則預設刪除最後一個。
統計
names = ["A","B","C","D"]
print(nams.count(C))
清空
names = ["A","B","C","D"]
names.clear()
print(names)
此時列表清空
反轉
names = ["A","B","C","D"]
names.reverse()
pritnt(names)
>>>D,C,B,A
排序
>>> names
['Alex', 'Amy', 'Amy', 'Tenglan', 'Tom', '1', '2', '3']
>>> names.sort()
>>> names
['1', '2', '3', 'Alex', 'Amy', 'Amy', 'Tenglan', 'Tom']
擴展
>>> names
['Alex', 'Tenglan', 'Rain', 'Tom', 'Amy']
>>> b = [1,2,3]
>>> names.extend(b)
>>> names
['Alex', 'Tenglan', 'Rain', 'Tom', 'Amy', 1, 2, 3]
元組
元組其實跟列表差不多,也是存一組數,只不是它一旦創建,便不能再修改,所以又叫只讀列表
語法:
names
=
(
"A"
,
"B"
,
"C"
)
它只有2個方法,一個是count,一個是index,完畢。
程式練習
程式:購物車程式
需求:
- 啟動程式後,讓用戶輸入工資,然後列印商品列表
- 允許用戶根據商品編號購買商品
- 用戶選擇商品後,檢測餘額是否夠,夠就直接扣款,不夠就提醒
- 可隨時退出,退出時,列印已購買商品和餘額
product_list = [('phone',5800),
( 'Mac Pro',9800),
('Bike',800),
('watch',10600),
('Coffee',31)]
shopping_list= []
salary = input("input your salary:")
if salary.isdigit():
salary = int(salary)
while True:
for index,item in enumerate(product_list):
print(index,item)
user_choice = input("請選擇商品:")
if user_choice.isdigit():
user_choice = int(user_choice)
if user_choice<len(product_list) and user_choice>=0
p_item = product_list[user_choice]
if p_item[1]<=salary: #買的起
shopping_list.apeend(p_item)
salary- =p_item(1)
print("Added %s into shopping cart,your current balance is \033[31;1m%s\033[0m"%(p_item,salary))
else:
print("\033[41;1m你的餘額只剩[%s]啦,已無法購買\033[0m" % alary)
elif user_choice =='q'
ptint("--------shopping list------------")
for p in shopping_list:
print(p)
print("Your current balance :",salary)
exit()
else
print("invalid option")
總結:本章的重點是列表,無論學什麼語言都至關重要的基礎部分,建議小白多看幾遍,寧願慢,也要把基礎打牢。