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

相关文章
相关标签/搜索