字典
是无序可变序列,数据是成对存储的。每一对分为:键对象,值对象
例如:
a={'name':'temmie','age':'23'}
然后通过a.get(‘name’)来找到temmie这个值
键是任意不可变的数据,比如:整数、浮点数、字符串、元组。但是:列表、字典、集合这些可变对象不可以作为键。键不可以重复。重复的会被后面的覆盖。
字典的创建
1.使用{}创建字典
2.使用dict()创建字典对象
3.使用dict()与zip()创建字典
4.使用fromkeys创建空字典
a={'name':'temmie','age':'23'}#直接花括号创建
print(a.get('name'),a.get('age'))
b=dict(name='Temmie',age=22)#dict语法
print(b.get('name'),b.get('age'))
b1=dict([('name','Temmie'),('age',22)])#列表中元组,一个元组是一对
print(b1.get('name'),b1.get('age'))
c1=['name','age']#dict()加zip()
c2=['TEmmie',21]
c=dict(zip(c1,c2))
print(c.get('name'),c.get('age'))
d=dict.fromkeys(['name','age'])#创建空的字典
print(d.get('name'),d.get('age'))
字典的访问
1.使用键获得值,如果没有返回异常
2.使用get()语句获取,没有对应键时默认返回None,也可自定义设置
a={'name':'temmie','age':'23'}
print(a['name'])
print(a.get('name'),a.get('NAME'),a.get('NAMEE','不存在'))
items()列出所有键对
keys列出键,values列出值,len()键对的个数
检测键是否在字典中
字典元素的添加、修改、删除
如果键存在则覆盖,不存在则添加新的。
直接添加
使用update()将薪资点中所有键值添加到旧字典对象桑,如果有重复则覆盖。
del()语法删除指定元素,clear()删除所有键对,pop删除指定键对并返回其值。
popitem()随机删除并返回一个键对
a = {'name': 'temmie', 'age': '23', 'type': 'dog', '111': '111','666':'666','888':'888'}
b=a.popitem()
print(b)
为什么叫“随机删除呢”因为字典是无序的,所有叫随机,实际上它是删掉最后一个添加的键对。
序列解包
a = {'name':'temmie', 'age':'23','type':'dog'}
c,d,e=a#默认给的是键
print(c,d,e)
c,d,e=a.items()
print(c,d,e)
c,d,e=a.values()#给的是值
print(c,d,e)
如何用字典创建表格
r1={'name':'a','age':18}
r2={'name':'b','age':19}
r3={'name':'c','age':20}
tb=[r1,r2,r3]
print(tb[1].get('name'))#查询某一个
集合
集合无序可变,元素不能重复。使用{}定义。
创建添加
a={1,2,3}#花括号创建集合
print(a)
a.add(6)#add添加元素
print(a)
b={7,8,9}#使用set将列表元组等转换为集合
c=set(b)
print(c)
删除与清空
a={1,2,3}
print(a)
a.remove(2)#删除指定对象
print(a)
a.clear()#清空
print(a)
集合相关操作
名称 | 符号 | 例子 |
---|---|---|
并集 | |或union() | a|b或a,union(b) |
差集 | -或difference() | a-b或a.difference(b) |
交集 | & | a&b |
控制语句
选择结构
条件表达式值为False的情况:False,0,0.00,空值None,空的序列对象(列表、元组、集合、字典、字符串),空range对象,空迭代对象。其他为True
单分支结构
结构如下:
if 条件表达式(逻辑表达式、关系运算符等等):
语句/语句块
注意后面的冒号
例:
a=1
if a==1:
print('a=1')
双分支结构
if 条件表达式(逻辑表达式、关系运算符等等):
语句/语句块
else:
语句/语句块
例:
a=1
if a==1:
print('a=1')
else:
print('a!=1')
三元条件运算符
格式如下:
条件为真的值 if (条件表达式) else 条件为假的值
例:
a=10
print('a等于10' if(a==10) else 'a不等于10')
多分支结构
if 条件表达式(逻辑表达式、关系运算符等等):
语句/语句块
elif:
语句/语句块
elif:
语句/语句块
elif:
语句/语句块
.
.
.
else:(可选的结构)
语句/语句块
例:
a=int(input('分数'))
if a>=90:
print('优秀')
elif a>=80:
print('良好')
elif a>=60:
print('及格')
else:
print('不及格')
选择结构嵌套
注意结构语句的缩进量
例如:
if a>0:
print('这是一个正数')
if (a % 2) != 0:
print('a是一个正奇数')
else:
print('a是一个正偶数')
elif a==0:
print('a为0')
else:
if a%2==0:
print('a是一个负偶数')
else:
print('a是一个负奇数')
循环结构
重复执行一条或多条语句,如果符合条件者反复执行循环体的程序,每次执行完进行判断。注意除非需要,尽量避免死循环。
while循环
格式:
while 条件表达式:
循环体语句
例
a=-1
while a<2:
print(a)
a+=1
while中的else
python中的一种语法
格式
while 条件表达式:
循环体
else:
语句块
作用如果while是正常结束 (Fasle跳出,而非使用break结束) 则执行else的语句块,如果是使用break跳出的就不执行。