Python基础知识(4)
字典
创建字典
1、直接创建:
a = {‘ key ’:‘ value ’,‘ ’:‘ ’}
2、通过zip创建字典:
k = [’ ‘,’ ']
v = [’ ‘.’ ']
d = dict(zip(k,v))
3、创建空字典:
c = { }
d = dict( )
获取字典信息
1获取值对象
a.get(’ ')
2遍历字典
a.items()
3列出所有的键
a.keys()
4列出所有的值
a.values()
5返回键值对的个数
len(a)
6检测一个键是否在字典中
‘name’ in a
字典元素的修改、添加和删除
1字典元素添加,如果键已经存在,则覆盖旧键
a[’ key '] = ’ value ’
2用update在旧字典上添加新字典
a = {旧字典}
b = {新字典}
a.update(b)
3字典删除元素,del()
del(a[’ '])
4 删除对应键值对,并保存删除的值
b = a.pop(’ key1 ')
b
‘value1’
5删除所有键值对
a.clear()
6随机删除和返回该键值对 #适用于想要一个接一个地移除并处理项
a.popitem()
字典解包
key1,key2,… = a #默认对键进行操作
key1,key2,key3 = a.items() #对键值对进行操作
key1,key2,key3 = a.values() #对值进行操作
通过字典创建表格
r1 = {'name': '老大', 'age': 23, 'city': '北京'}
r2 = {'name': '老二', 'age': 22, 'city': '上海'}
r3 = {'name': '老三', 'age': 20, 'city': '广州'}
r = [r1, r2, r3]
print('姓名','age','city')
print('-'*50)
for i in range(len(r)):
print(r[i].get('name'), r[i].get('age'),r[i].get('city'))
字典的底层逻辑
字典对象的核心是散列表
数组的每个单元叫bucket
储存值对象的过程:
提取值对象过程:
往字典里添加新键可能导致扩容,从而导致散列表中键的次序变化,因此不要在遍历字典的同时进行字典的修改
选择结构
单分支结构,双分支结构,多分支结构
# 输入一个分数,在0-100之间,90以上为A,80-90为B,70-80为C,60-70为D,60以下为E
#第一种方法
score = int(input('请输入分数:'))
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('分数为{},等级为{}'.format(score, grade))
print('*'*100)
#第二种方法
score = int(input('请输入分数:'))
if score > 100 or score < 0:
score = int(input('请输入0-100的数字:'))
grade = 'ABCDE'
score01 = score//10
if score01 < 6 : score = 5
print('分数为{},成绩为{}'.format(score, grade[9-score01]))
while循环
# 计算1-100所有数的累加和
sum_all = 0
a = 0
while a <= 100:
sum_all = sum_all + a
a += 1
print(sum_all)