Python基础知识学习-Day4

字典

字典是“键值对”的无序可变序列,字典中的每个元素都是一个“键值对”,包含:“键 对象”和“值对象”。可以通过“键对象”实现快速获取、删除、更新对应的“值对象”。

字典的创建:1:a = {'name':aaa','age':111,'job':'worker'}

                      2:b = dict(name='aaa',age=11,job='worker')

                      3:a = dict( [ ("name", "aaa"), ("age", "11") ] )

                      4:c = {}   或者c = dict() 空的字典对象

通过 zip()创建字典对象:

k = ['name','age','job'] ,  v = ['aaa',11,'worker ']

d = dict(zip(k,v)) d {'name': 'gaoqi', 'age': 18, 'job': 'techer'}

用fromkeys创建值为空的字典:

a = dict.fromkeys( ["name", "age", "job"] )

a = {"name": None, "age": None, "job":None}

字典元素的访问

1.通过键获得值a = {'name':aaa','age':111,'job':'worker'},a["name"]得到"aaa",类似于列表的访问。

2.通过a.get()方法获得值:a.get('name')

3.列出所有的键值对:a.items(),输入后会得到:dict_items([('name', 'qqq"), ('age', 11), ('job', 'programmer')])

4. 列出所有的键,列出所有的值: a.keys() -------dict_keys(['name', 'age', 'job'])

                                                     a.values()------dict_values(['qqq', 11, 'programmer'])

5. len() 键值对的个数

字典元素添加、修改、删除

1. 给字典新增“键值对”:如果“键”已经存在,则覆盖旧的键值对;如果“键”不存在, 则新增“键值对”。a = {'name':aaa','age':111,'job':'worker'},可以用a["x"] = 1添加新的值,用a["age"] = 1覆盖原来的值,最终结果:a = {'name':aaa', 'age':1, 'job':'worker', "x": 1}

2. 使用 update()将新字典中所有键值对全部添加到旧字典对象上。如果 key 有重复,则直接覆盖

a = {'name':aaa','age':111,'job':'worker'}, b ={"x": 1}, a.update(b)会得到:a = {'name':aaa', 'age':111, 'job':'worker', "x": 1}

3. 字典中元素的删除,可以使用 del()方法;或者 clear()删除所有键值对;pop()删除指定 键值对,并返回对应的“值对象”:del(a['name'])

4. popitem() :随机删除和返回该键值对,a.popitem()

表格数据使用字典和列表存储,并实现访问

r1 = {"name":"小一","age":18,"salary":30000,"city":"北京"}

r2 = {"name":"小二","age":19,"salary":20000,"city":"上海"}

r3 = {"name":"小五","age":20,"salary":10000,"city":"深圳"}

tb = [r1,r2,r3]

可以通过print(tb[1].get("salary"))获得第二个人的薪资,可以用一个for循环打印所有人的数据。

for i in range(len(tb)):

              print(tb[i].get("name"),tb[i].get("age"),tb[i].get("salary"),tb[i].get("city"))

集合创建和删除

a = {3,5,7},可以用add来增加元素,例如a.add(1),得到a = {3, 5, 7, 1}

使用 set(),将列表、元组等可迭代对象转成集合。如果原来数据存在重复数据,则只保留一个:a = ['a','b','c','b],b = set(a),b的最终结果:{'b', 'a', 'c'}

remove()删除指定元素;clear()清空整个集合

并集 | ;交集&;差集 -

控制语句

题目:根据成绩来评分ABCDE

score = int(input("请输入一个在0-100之间的数字:"))
grade = ""
while score>100 or score<0:
    score = int(input("输入错误,请输入一个在0-100之间的数字:"))

if score>90:
    grade ="A"
elif score>80:
    grade = "B"
elif score>70:
    grade = "C"
elif score > 60:
    grade = "D"
else:
    grade = "E"

print("分数为{0},成绩为{1}".format(score,grade))

score = int(input("请输入一个在0-100之间的数字:"))
degree = "ABCDE"
if score >100 or score<0:
    score = int(input("输入错误,请输入一个在0-100之间的数字:"))
else:
    num = score//10
    if num<6:
        num = 5
    elif num == 10:
        num = 9
print("分数为{0},成绩为{1}".format(score,degree[9-num]))

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值