栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

Python基础知识学习day04

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Python基础知识学习day04

字典
字典是“键值对”的无序可变序列,字典中的每一个元素都是一个“键值对”
“键” 是任意的不可变数据,比如:整数、浮点数、字符串、元组。
但是:列表、字典、集合这些可变对象,不能作为“键”,且“键”不可重复
值可以是任意数据,可重复。
一个字典的定义方式:
a={'name':'gaoqi','age':'18','job':'programmer'}
字典的创建
1.通过{}、dict()来创建字典
a={'name':'gaoqi','age':'18','job':'programmer'}
b=dict(name='gaoqi',age='18',job='programmer')
a=dict([('name','gaoqi'),('age',18)])
c={}  # 空的字典对象
d=dict()  # 空的字典对象
2.通过zip()创建字典对象
k=['name','age','job']
v=['gaoqi','18','teacher']
d=dict(zip(k,v))
3.通过fromkeys创建值为空的字典
a=dict.fromkeys(['name','age','job'])
>>> a=dict.fromkeys(['name','age','job'])
>>> a
{'name': None, 'age': None, 'job': None}

>>> a={'name':'gaoqi','age':'18','job':'programmer'}
>>> a
{'name': 'gaoqi', 'age': '18', 'job': 'programmer'}
>>> b=dict(name='gaoqi',age='18',job='programmer')
>>> b
{'name': 'gaoqi', 'age': '18', 'job': 'programmer'}
>>> a=dict([('name','gaoqi'),('age',18)])
>>> a
{'name': 'gaoqi', 'age': 18}
>>> c={}
>>> d=dict()
>>> k=['name','age','job']
>>> v=['gaoqi','18','teacher']
>>> d=dict(zip(k,v))
>>> d
{'name': 'gaoqi', 'age': '18', 'job': 'teacher'}

# 字典元素的访问
a={'name':'gaoqi','age':'18','job':'programmer'}
1.通过[键]获得"值"。
若键不存在,则抛出异常
>>> a={'name':'gaoqi','age':'18','job':'programmer'}
>>> a['name']
'gaoqi'
2.通过get()方法获得"值"。推荐使用。优点:指定键不存在,返回None;也可以设定
指定键不存在时默认返回的对象。推荐使用get()获取"值对象"
a.get('name')
>>> a.get('name')
'gaoqi'
>>> a.get('dddd')
>>> a
{'name': 'gaoqi', 'age': '18', 'job': 'programmer'}
>>> print(a.get('dddd'))
None
>>> a.get('dddd','不存在')
'不存在'
>>> a.items()
dict_items([('name', 'gaoqi'), ('age', '18'), ('job', 'programmer')])
# 字典元素的添加修改和删除
>>> a={'name':'gaoqi','age':'18','job':'programmer'}
>>> a['address']='西三旗1号院'
>>> a['age']=16
>>> a
{'name': 'gaoqi', 'age': 16, 'job': 'programmer', 'address': '西三旗1号院'}
>>> a={'name':'gaoqi','age':'18','job':'programmer'}
>>> b={'name':'gaoqi','money':'40000','sex':'男'}
>>> a.update(b)
>>> a
{'name': 'gaoqi', 'age': '18', 'job': 'programmer', 'money': '40000', 'sex': '男'}
3.字典中元素的删除,可以使用del();或者clear()删除
>> a={'name': 'gaoqi', 'age': 16, 'job': 'programmer', 'address': '西三旗1号院'}
>>> del(a['name'])
>>> a
{'age': 16, 'job': 'programmer', 'address': '西三旗1号院'}
>>> b=a.pop('age')
>>> b
16
4.popitem():随机删除和返回改键值对。字典是“无序可变序列”,因此没有第一个元素、最后
一个元素的概念;popitem弹出随机的项,因为字典并没有“最后元素”或者其他有关顺序的概念。
若想一个接一个的移除并处理项,这个方法就非常有效。
>>> a={'name':'gaoqi','age':'18','job':'programmer'}
>>> a.popitem()
('job', 'programmer')
>>> a
{'name': 'gaoqi', 'age': '18'}
>>> a.popitem()
('age', '18')
>>> a
{'name': 'gaoqi'}
# 序列解包
序列解包可以用于元组、列表、字典。序列解包可以让我们方便的对多个变量赋值。
x,y,z=(20,30,10)
>>> x,y,z=(20,30,10)
>>> x
20
>>> y
30
>>> z
10
[a,b,c]=[10,20,30]
>>> [a,b,c]=[10,20,30]
>>> a
10
>>> b
20
序列包用于字典时,默认是对"键"进行操作;如果需要对键值对操作,则需要使用
items();如果需要对“值”进行操作,则需要使用values();
s={'name':'gaoqi','age':'18','job':'programmer'}
>>> name,age,job=s
>>> name
'name'
>>> name,age,job=s.items()
>>> name
('name', 'gaoqi')
>>> name,age,job=s.values()
>>> name
'gaoqi
# 表格数据使用字典和列表存储,并实现访问
源代码
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('slary'))
# 打印表中所有人的薪资
for i in range (len(tb)):
>> > print(tb[1].get('salary'))
20000
>> > for i in range(len(tb)):
    print(tb[i].get('salary'))

30000
20000
10000
# 打印表的所有数据
for i in range (len(tb)):
    print(tb[i].get('name'),tb[i].get('age'),tb[i].get('salary'),tb[i].get('city'))
    print(tb[i].get('name'), tb[i].get('age'), tb[i].get('salary'), tb[i].get('city'))

高小一
18
30000
北京
高小二
19
20000
上海
高小五
20
10000
深圳
# 1.使用{}创建集合对象,并使用add()方法添加元素
>>> a={3,5,7}
>>> a
{3, 5, 7}
>>> a.add(9)
>>> a
{9, 3, 5, 7}
# 2.使用set(),将列表、元组等可迭代对象转成集合。如果原来数据存在重复数据,则只保留一个。
>>> a={3,5,7}
>>> a
{3, 5, 7}
>>> a.add(9)
>>> a
{9, 3, 5, 7}
>>> a =['a','b','c','d']
>>> b=set(a)
>>> b
{'a', 'd', 'c', 'b'}
3.remove()删除指定元素;clear()清空整个集合
a.={10,20,30,40,50}
a.remove(20)
>>> a={10,20,30,40,50}
>>> a.remove(20)
>>> a
{40, 10, 50, 30}

 

# a=input('请输入一个小于10的数字:')
# if int(a)<10:
#     print(a)
# 条件表达式
#
# b = []
# if  not b:
#     print('空的列表是false')
# c = "True"  # 非空字符串
# if c:
#     print('c')
# d=10
# if d:
#     print("3100 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("分数为{0},等级为{1}".format(score,grade))
print("**************************************************")
score = int(input("请输入一个分数"))
degree = "ABCDE"
num = 0
if score>100 or score<0:
    print("请输入一个0-100的分数")
else:
    num = score//10
    if num<6:
        num=5
        print(dgree[9-num])
# while循环
# 利用while循环打印从0-10的数字。
# num = 0
# while num <=100:
#     print(num,end="t")
#     num+=1
# print("***************************")
num2 = 0
sum_all = 0
while num2<=100:
    sum_all =sum_all + num2
    num2 +=1
print("1-10所有数的累加:",sum_all)
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/649807.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号