Python-Day2 Python基礎進階,python-day2python
一、資料類型
Python3 中有六個標準的資料類型:
- Number(數字)
- String(字串)
- List(列表)
- Tuple(元組)
- Sets(集合)
- Dictionary(字典)
Python3 支援 int(整形)、float(浮點型)、bool(布爾型)、complex(複數)。在Python 3裡,只有一種整數類型 int,表示為長整型,沒有 python2 中的 Long。布爾值:真或假,1 或 0。
二、列表1.列表建立
>>> list = [1,2,3,4,5]>>> print(list)[1, 2, 3, 4, 5]
2.列表切片
list = [1,2,3,4,5]>>> print(list)[1, 2, 3, 4, 5]>>> list[1:4] #取下標1至下標4之間的數字,包括下標1,不包括下標4[2, 3, 4]>>> list[1:-1] #取下標1至-1的值,不包括-1[2, 3, 4]>>> list[0:3] [1, 2, 3]>>> list[:3] #如果是從頭開始取,0可以忽略,跟上句效果一樣[1, 2, 3]>>> list[3:] #如果想取最後一個,必須不能寫-1,只能這麼寫[4, 5]>>> list[:-1] #這樣-1就不會被包含了[1, 2, 3, 4]>>> list[0::2] #後面的2是代表,每隔一個元素,就取一個[1, 3, 5]>>> list[::2] #和上句效果一樣[1, 3, 5]
3.列表追加
>>> list.append(6)>>> list[1, 2, 3, 4, 5, 6] #預設追加到最後面,要想往前面看下一個
4.列表插入
>>> list[1, 2, 3, 4, 5, 6]>>> list.insert(1,"插入到2前面") #預設插入到下標前面,元素2的下標是1>>> list[1, '插入到2前面', 2, 3, 4, 5, 6]>>> list.insert(3,"插入到2後面") #2的下標變成了2,插入2的後面也就是往下標3的前面插入>>> list[1, '插入到2前面', 2, '插入到2後面', 3, 4, 5, 6]
5.列表修改
>>> list[1, '插入到2前面', 2, '插入到2後面', 3, 4, 5, 6]>>> list[1]="下標一">>> list[3]="下標三">>> list[1, '下標一', 2, '下標三', 3, 4, 5, 6]
6.列表刪除
>>> list[1, '下標一', 2, '下標三', 3, 4, 5, 6]>>> del list[1] #刪除下標是1的元素>>> list[1, 2, '下標三', 3, 4, 5, 6]>>> list.remove("下標三") #刪除叫下標三的元素>>> list[1, 2, 3, 4, 5, 6]>>> list.pop(5) #刪除下標是5的元素6>>> list[1, 2, 3, 4, 5]>>> list.pop() #預設刪除最後一個元素5>>> list[1, 2, 3, 4]7.列表擴充
>>> list[1, 2, 3, 4]>>> list + [5,6,7,8,9][1, 2, 3, 4, 5, 6, 7, 8, 9]>>> list[1, 2, 3, 4]>>> list=list + [5,6,7,8,9]>>> list[1, 2, 3, 4, 5, 6, 7, 8, 9]>>> list2=[10]>>> list.extend(list2)>>> list[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
8.列表copy(淺copy和深copy)
>>> list[1, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10]>>> list2=list.copy()>>> list2[1, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
>>> list[[0, 1], 1, 2, 3, 4, 5, 6, 7, 8, 9, 10]>>> list2=list.copy()>>> list2[[0, 1], 1, 2, 3, 4, 5, 6, 7, 8, 9, 10]>>> list[0][1]="test">>> list[[0, 'test'], 1, 2, 3, 4, 5, 6, 7, 8, 9, 10]>>> list2[[0, 'test'], 1, 2, 3, 4, 5, 6, 7, 8, 9, 10]#當list改變,list2也同時發生了改變,copy只能copy第一層,深copy需要copy模組>>> import copy>>> list3=copy.deepcopy(list) #深copy>>> list3[[0, 0], '一', 2, 3, 4, 5, 6, 7, 8, 9, 10]>>> list[0][0]=666>>> list[[666, 0], '一', 2, 3, 4, 5, 6, 7, 8, 9, 10]>>> list3[[0, 0], '一', 2, 3, 4, 5, 6, 7, 8, 9, 10] #修改list後,未發生變化
9.列表統計
>>> list[1, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10]>>> list.count(1) #統計1元素有幾個2
10.翻轉和排序
>>> list[1, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10]>>> list.reverse() #列表元素翻轉>>> list[10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 1]>>> list.sort() #按照ASCII表進行排序>>> list[1, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
11.擷取下標
>>> list[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]>>> list.index(1) #元素1的下標0
三、元組
組其實跟列表差不多,也是存一組數,只不是它一旦建立,便不能再修改,所以又叫唯讀列表。它只有2個方法,一個是index,一個是count。
>>> list = (0,1)>>> list.index(0)0>>> list.count(0)1
四、字典
字典一種key - value 的資料類型,使用就像我們上學用的字典,通過筆劃、字母來查對應頁的詳細內容。
字典的特性:
1.字典建立
>>> dict={'key1':'value1','key2':'value2'} #字典用的是大括弧,列表是中括弧,元組是小括弧>>> dict{'key1': 'value1', 'key2': 'value2'}2.字典增加
>>> dict['key3']='value3'>>> dict{'key3': 'value3', 'key1': 'value1', 'key2': 'value2'}3.字典修改
>>> dict['key3']='value33333'>>> dict{'key3': 'value33333', 'key1': 'value1', 'key2': 'value2'}4.字典刪除(三種姿勢)
>>> dict.pop("key3") #第一種姿勢'value33333'>>> dict{'key1': 'value1', 'key2': 'value2'}>>> dict.popitem() #隨機刪除姿勢('key1', 'value1')>>> dict{'key2': 'value2'}>>> del dict('key2') #注意,符號打錯了,和上面的不一樣SyntaxError: can't delete function call>>> del dict['key2'] #刪除key2項>>> dict{}5.字典尋找
dict={'key1':'value1','key2':'value2'}>>> 'key1' in dict #標準用法True>>> dict.get("key1") #擷取'value1'>>> dict.get('key10') #如果沒有這個key>>> dict['key1'] #擷取'value1'>>> dict['key10'] #如果沒有這個key,報錯Traceback (most recent call last): File "<pyshell#125>", line 1, in <module> dict['key10']KeyError: 'key10' 1 City_list = { 2 "北京":{ 3 "海澱":['上地','清河'], 4 "昌平":['回龍觀','沙河'], 5 }, 6 "河北":{ 7 "保定":['易縣','定州'], 8 "石家莊":['新華區','橋西區'], 9 },10 "遼寧":{11 "瀋陽":['皇姑區','鐵西區'],12 "大連":['瓦房店','普蘭店'],13 },14 }15 one=True16 two=True17 while one:18 print("歡迎使用多級菜單,現在顯示一級菜單:")19 for i in City_list.keys():20 print(" ",i)21 first_input=input("請輸入省級菜單名稱開啟市級菜單,按q退出,按b返回主菜單:")22 if first_input == "q":23 one=False24 break25 elif first_input == 'b':26 break27 else:28 for k in (City_list[first_input].keys()):29 print(" ",k)30 while two:31 second_input=input("請輸入市級菜單名稱開啟縣級菜單,按q退出,按b返回主菜單:")32 if second_input == "q":33 one=two=False34 break35 elif second_input == "b":36 break37 else:38 for l in (City_list[first_input][second_input]):39 print(" ",l)40 third_input=input("執行完畢,按q退出,按b返回上一層,任意鍵返回主菜單:")41 if third_input == "q":42 exit()43 elif third_input == "b":44 continue45 else:46 for n in City_list.keys():47 print(" ",n)48 break多級菜單程式
多級菜單流程圖
諸君共勉:
生活不止眼前的苟且----誰要覺得你眼前這點兒苟且就是你的人生,那你這一生就完了。生活就是適合遠方,能走多遠走多遠;走不遠,一分錢沒有。-------《高曉松184天監獄生活實錄:人生還有詩和遠方》