字典
字典是“键值对”的无无序可变序列
例如: a = {‘name’:'laogao,‘age’:‘18’}
注:键,任意的不可变数据,例如:整数,浮点数,字符串,元组
(列表,字典,集合这些可变对象不可以)
字典的创建
- {},或dic()来创建字典对象
a = {'name':'gaoqi','age','18'}
b = {name = 'gaoqi',age = 18}
- 通过zip()创建
>>> k = ['name','age']
>>> v = ['gaoqi','18']
>>> d = dict(zip(k,v))
>>> d
{'name': 'gaoqi', 'age': '18'}
- fromkeys创键值为空的字典
>>> a = dict.fromkeys(['gaoqi','age','job'])
>>> a
{'gaoqi': None, 'age': None, 'job': None}
元素的访问
- 通过[键] 获得值
- a.get(‘键’) 获得值
- 列出所有的键值对 a.items()
- a.key() a.value()
- len()键值对个数
- 检测一个“键”是否在字典中 例如“键”in a
字典元素的添加,修改,删除
- 给字典增加新的键值对,若存在,则修改,若不存在,则新增。
例如: a[‘address’]=‘山东’ - a.update(b) 将b字典中所有键值对增加到a中,若key重复,则覆盖
- del,clear,pop
- popitem()
字典核心底层原理
键值对放入字典底层过程
查找键值对底层过程
集合
集合是无序可变的,元素不能重复。(底层是字典实现的)
集合的创建和删除
- 使用{}来创建,add()进行添加
- set()将列表变为集合
- remove进行删除
集合相关操作:
实例 | 描述 |
---|---|
a|b或a.union(b) | 并 |
a&b或a.intersection(b) | 交 |
a-b或a.difference(b) | 差 |
控制语句
选择结构
多分支结构,几个分支是有逻辑关系的,不能随意颠倒顺序
三元条件运算符
选择结构的嵌套
一定要注意不同代码的缩进
score = int(input("请输入一个在0-100的数字"))
grade = ""
if score>100 or score<0:
score = int(input("输入错误!请重新输入一个在0-100的数字"))
else:
if score>=90:
grade = "A"
elif score>=80:
grade = "B"
elif score>=70:
grade = "C"
elif score>=60:
grade = "D"
else:
grade = "E"
print("分数为%s,等级为%s"%(score,grade))
循环结构
注:语句需要改变表达式的语句
num = 0
num_all = 0
while num<=100:
num_all += num
num += 1
print("1-100所有书累加和:%s"%num_all)