Python基礎 day3

一、爲什麼要有字典?python

一個key對應一個value,我只要知道key就能取出value。linux

二、字典的形式app

dic = {‘name’:’dajiba’,’age’:18}測試

key的定義規則:google

不可變spa

value的定義規則:code

任意類型blog

 

三、字典的增刪改查utf-8

增長:rem

dic = {'name':'dajiba','age':18}
dic['sex']='man'
print(dic)
打印結果:
{'sex': 'man', 'age': 18, 'name': 'dajiaba'}

 

刪除:

有一個萬能的刪除法

複製代碼
dic={'name':'dajiaba','age':18}

del dic['name']
print(dic)
打印結果

刪除了name

{'age': 18}
複製代碼

 

 
dic={'name':'dajiaba','age':18}
dic['name']='jixuege'
print(dic)
打印結果

{'age': 18, 'name': 'jixuege'}
複製代碼

 
dic={'name':'dajiaba','age':18}
#查詢,若是沒有回報錯
print(dic['name'])
#查詢,若是沒有不會報錯
print(dic.get('name'))
打印結果:

dajiaba 
dajiaba

要求: 

  1. 打印省、市、縣三級菜單
  2. 可返回上一級
  3. 可隨時退出程序

永遠的痛,下面就附上幾個實現的方法:

#!/usr/bin/env python
# -*- coding: utf-8 -*-
#Author: Leon xie

menu = {
'北京':{
'海淀':{
'五道口':{
'soho':{},
'網易':{},
'google':{}
},
'中關村':{
'愛奇藝':{},
'汽車之家':{},
'youku':{},
},
'上地':{
'百度':{},
},
},
'昌平':{
'沙河':{
'包子':{},
'北航':{},
},
'天通苑':{},
'回龍觀':{},
},
'朝陽':{},
'東城':{},
},
'上海':{
'閔行':{
"人民廣場":{
'炸雞店':{}
}
},
'閘北':{
'火車戰':{
'攜程':{}
}
},
'浦東':{},
},
'山東':{},
}

new_menu=menu
menu_level=[]
while True:
for key in new_menu:
print(key)

choice = input("請輸入你的選擇>>")
if len(choice) == 0:continue

if choice == "b":
if len(menu_level) ==0:break
new_menu=menu_level[-1]
menu_level.pop()
if choice not in new_menu:continue
menu_level.append(new_menu)
new_menu=new_menu[choice]

 

集合

1、爲什麼要有集合?

一、舉個栗子

在沒有集合的時候,咱們表是一組名字是用列表。以下

Python_list=['dajiba','lhf','pangfeng']

linux_list=['xiaoming','laowang','alex','lhf']
both=[]
那麼我要取2個列表相同的東西,就須要使用下面的for循環
for name in linux_list:
if name in Python_list:
both.append(name)

print(name)
打印結果
lhf
會不會很麻煩?
 
二、使用集合來解決上面的痛點
建立一個數字集合
s = set([3,5,9,10])  它的輸出結果就是 s ={9, 10, 3, 5}是同樣的。
t = set("Hello")    它的輸出結果就是   t = {'e', 'H', 'l', 'o'}
集合是一個無序的,不重複的數據組合,它的主要做用以下:
* 去重,把一個列表變成集合,就自動去重了,如上所示
* 關係測試,測試兩組數據之間的交集、差集、並集等關係。
 
經常使用操做:
a= t | s     # 表示t 和 s的並集
b= t & s     # 表示 t 和 s的交集
c= t - s    # 差集(在t不在s中)
d = t ^ s    #對稱差集(項在t或s中,但不會同時出如今這兩者中)
 
基本操做以下:
 
 

# 添加一項
t = set("Hello")

t.add('x')
print(t)
打印結果以下:
{'e', 'o', 'l', 'H', 'x'}


#在s中添加多項
s = set([3,5,9,10])
t = set("Hello")


s.update([10,12,13,13])
print(s)
打印結果以下:
{3, 5, 9, 10, 12, 13}

使用remove()能夠刪除一項:
t = set("Hello")
t.remove('H')
print(t)
打印結果以下:
{'o', 'l', 'e'}

長度
s = set([3,5,9,10])
print(len(s))
打印結果以下:

測試x是不是s的成員
x in s

測試x 是否不是s的成員
x not in s

測試是否s中的每個元素都在t中
print(s.issubset(t))或
s <= t
打印結果
False

測試是否t中的每個元素都在s中s.issuperset(t)或者s>=t 並集print(s|t)打印結果{'l', 3, 5, 'e', 'o', 9, 10}或者是s.union(t) 交集print(s.intersection(t))或者s & t s中有可是t中沒有的元素s.difference(t)或者s - t

相關文章
相關標籤/搜索