標籤:開發 acp rate values ctrl ase 查詢 字母 購物車
列表、元祖、字典、集合列表:
定義:是一個資料的集合,可以存放任何類型的資料,可以對集合進行增刪改查等操作。
建立一個空列表L[ ],非空列表:L[‘a‘,‘b‘,‘c‘,.4]其索引號為0,1,2,3.建立嵌套列表:L[‘a‘,‘b‘,[‘c‘,‘d‘] ]
列表的查詢L[2]:通過索引號,L[-1]從右邊索引,-1即為右邊第一個。L.index[‘a‘],返回a的索引號,L.count[‘a‘]:查看‘a‘的個數。
列表的切片:設列n2 = [‘shanshan‘,‘longting‘,‘alex‘,1,2,3,4,4,5,6,7,7,8,8,9,9,0,0,2,3,4,4]。使用n2[0:3]即可取出[‘shanshan‘,‘longting‘,‘alex‘],顧頭不顧尾的取法,同時還可以使用負數,,不過也必須從左往右切,如n2[-1:-5],切片還可以指定步長,如n2[0:5:2]步長為2,結果為[‘shanshan‘,‘alex‘,2]。
列表的增加和刪除:L.append(‘A‘),在列表的末尾加上A,L.insert(3,‘B‘):在索引號為3的地方插入B。L.pop():刪除最後一個元素,L.remove(‘shanshan‘),刪除列表中索引到的第一個shanshan,如果有多個shanshan呢,可以使用全域刪除的方法:del L[2],還可以同時刪除多個元素:del L[2:4].
列表的迴圈:for i in L:
print(i)
列表的排序:L.sort(),這是通過ASCLL表來排序的,還可以逆序,L.reverse()。
列表的擴充:L.extend([2,1,1]),就可以在L的列表尾部加上一些元素。
列表的清空:L.clear()
列表的拷貝:L.copy(),拷貝後就完全獨立了。
練習題:
現有商品
[[‘Iphone8‘,6888],[‘MacPro‘,14800],[‘小米6‘,2499],[‘Coffee‘,31],[‘Book‘,80],[‘Nike Shoes‘,799]],寫一個迴圈,不斷問使用者想買什麼,使用者選擇一個商品編號,就把該商品加如購物車,當使用者輸入q時,列印出購物
車商品並退出:
products = [[‘Iphone8‘,6888],[‘MacPro‘,14800],[‘小米6‘,2499],[‘Coffee‘,31],[‘Book‘,80],[‘Nike Shoes‘,799]]shop_cart = []while True: print("-------------商品列表------------") for index,p in enumerate(products) : #可以將索引號打出來 print(‘%s. %s %s‘%(index,p[0],p[1])) #這裡使用的固定格式輸出 choice = input("choice:") if choice.isdigit(): #判斷是否為數字 choice = int(choice) if choice >= 0 and choice < len(products): #判斷選擇商品是否正確 shop_cart.append(products[choice]) print("add %s to the shop_cart"%(products[choice])) else : print("沒有此商品") elif choice == ‘q‘: if len(shop_cart)>0 : print("---------------購物車------------") for index,i in enumerate(shop_cart): print("%s. %s %s"%(index,i[0],i[1])) break
字串用法:
什麼是字串:字串是一個有序的字元的集合,用0來儲存和表示基本的文本資訊,一對引號中的文本成為字串。字串的特點是有序不可變,如果修改了的話就會重新開闢新的記憶體位址。
如何查看源碼:按住ctrl鍵點擊字串命令。
一些常見用法:
s.captalize():首字母大寫/s.casefold():全部小寫/s.center(50,‘*‘):字串放在中間,旁邊的用指定字元填滿/s.count(‘o‘):字串中o的個數/s.endwith(‘!‘):判斷是否以!結尾/s.find(‘o‘):尋找o的索引/s3.format:格式化輸入字串,如s3 = ‘my name is {0},i am {1} years old !‘,使用s3.format(‘spencer‘,22)就可以進行格式化輸入。
元祖類型:
元祖其實和列表差不多,也是存一組數,只不過它一旦建立就不可以修改,不能添加或者刪除,所以又叫唯讀列表,主要用於一些配置資訊的顯示。但是他可以做切片,文法是小括弧,裡面可以嵌套列表。雖然元祖不可變,但是元祖裡面 嵌套的可變元素可變,如列表。
字典以及特性:
字典是一種key-value的資料類型。文法:大括弧,裡面 先寫key再寫value,key後面要加上 :,每條資訊之間需要用 ,隔開。特性首先是key-value結構,key的值需要可雜湊,因此key需要保證唯一不可變,可存放多個值,可以修改,可以不唯一,無須,可以快速尋找。可以快速尋找的原因是將key雜湊成一串數字,根據二分法等進行索引。
查看:dic[‘key‘],此種查看方式如果不存在的話會報錯。 dic.get(‘key‘),此種方式查看如果不存在會顯示none。
增加/修改:dic[‘key‘] = ‘value‘
判斷是否存在:‘key‘ in dic
字典的嵌套:
查看所有的value/key:info.values()/info.keys()
字典的刪除:info.pop(‘key‘)/info.popitem()此方法為隨機刪除/del dic[‘key‘]
字典的迴圈:
for key in dic : print(key,dic[key])
python全棧開發-列表、元祖、字典、集合-7.13