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

Python基础DAY4(9.27)

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

Python基础DAY4(9.27)

1.字典

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

字典的创建

(1)通过{},dict()函数创建字典。

a={"name":"llajiji","age":18,"aa":[2,3,4]}
print(a)  #{'name': 'llajiji', 'age': 18, 'aa': [2, 3, 4]}
b=dict(name='llajiji',age=23)
print(b)  #{'name': 'llajiji', 'age': 23}

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

a=['name','age','job']  #键对象
b=['mama','23','doctor']  #值对象
c=dict(zip(a,b))
print(c)   #{'name': 'mama', 'age': '23', 'job': 'doctor'}

 (3)通过fromkeys创建值为空的字典

a=dict.fromkeys(['name','age','job'])
print(a)   #{'name': None, 'age': None, 'job': None}

2.字典元素的访问

(1)通过【键】获得“值”

(2)通过get()方法获得值(推荐使用)

a={'name':'April','age':10,'job':'student'}
print(a['name'])  #April
print(a.get('name'))  #April
print(a.get('win'))   #None
print(a.get('win','不存在'))   #不存在,指定键不存在时默认返回的对象

(3)一些常见字典函数用法 

a={'name':'April','age':10,'job':'student'}
print(a.items())  #dict_items([('name', 'April'), ('age', 10), ('job', 'student')])列出所有键值对
print(a.keys())   #dict_keys(['name', 'age', 'job'])列出所有键
print(len(a))   #3  键值对个数
print('name' in a)  #True  检测一个键是否在字典中

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

(1)给字典新增键值对,如果键已经存在则被覆盖,若键不存在则增加。

a={'name':'April','age':10,'job':'student'}
a['sex']='female'
print(a)  #{'name': 'April', 'age': 10, 'job': 'student', 'sex': 'female'}

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

a={'name':'April','age':10,'job':'student'}
b={'name':'Bob','sex':'male','hobby':'football'}
a.update(b)
print(a)  #{'name': 'Bob', 'age': 10, 'job': 'student', 'sex': 'male', 'hobby': 'football'}

(3)字典中元素的删除,可以使用del()方法,或者clear()删除所有键值对;pop()删除指定键值对,并返回对应的值对象。 

a={'name':'April','age':10,'job':'student'}
del(a['name'])
print(a)    #{'age': 10, 'job': 'student'}
b=a.pop('age')
print(b)  #10
print(a)  #{'job': 'student'}
print(a.clear())  #None

(4)popitem():随机删除和返回键值对,字典是无序可变序列,因此没有元素的排序顺序等;popitem弹出随机的项。

a={'name':'April','age':10,'job':'student'}
print(a.popitem())  #('job', 'student')
print(a)           #{'name': 'April', 'age': 10}
print(a.popitem())   #('age', 10)
print(a)          #{'name': 'April'}

4.序列解包

   序列解包可以用于元组、列表、字典。序列解包可以方便对多个变量进行赋值。

x,y,z=(20,30,10)
print(x)  #20
print(y)   #30
print(z)   #10

元组

(x,y,z)=(20,30,10)
print(x)  #20
print(y)  #30
print(z)    #10

列表

[x,y,z]=[20,30,10]
print(x)  #20
print(y)  #30
print(z)    #10

元组

a={'name':'Bob','age':29,'sex':'male'}
x,y,z=a
print(x)  #name
print(y)  #age
print(z)
x,y,z=a.values()
print(x)  #Bob
print(y)   #29
print(z)
x,y,z=a.items()
print(x)   #('name', 'Bob')
print(y)   #('age', 29)
print(z)

5.表格数据使用字典和列表储存并进行读取

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)
print(tb[1].get('salary'))  #20000
for i in range(len(tb)):
    print(tb[i].get('name'),tb[i].get('salary'),tb[i].get('age'),tb[i].get('city'))
'''
张三 30000 18 北京
李四 20000 19 上海
王五 10000 20 深圳
'''

 6.不要再遍历字典的过程中进行字典的修改,可以先进行遍历把需要修改的数据取出来,再进行修改。

7.集合:无序可变,集合底层是字典实现,集合的所有元素都是字典中的”键对象“,因此是不能重复且唯一的。

(1)集合创建和删除

   {}创建

a={233,4,'happy'}
print(a)  #{233, 4, 'happy'}
a.add(4)
print(a) #{233, 4, 'happy'}元素不可重复

set()创建

a=['happy',422,21,'job']
b=set(a)
print(b)  #{'job', 'happy', 21, 422}

remove()、clear()

a={'happy',422,21,'job'}
a.remove(422)
print(a)  #{21, 'job', 'happy'}
a={'happy',422,21,'job'}
clear(a)
print(a)

(2)集合相关操作

a={'happy',422,21,'job'}
b={'girl',422,'job',51}
print(a|b)   #{422, 'girl', 'job', 51, 21, 'happy'}并
print(a&b)   #{'job', 422}交
print(a-b)   #{'happy', 21}差

8.选择结构

   单分支选择结构

a=input("请输入一个小于10的数字:") #a为字符串类型
if int(a)<10:
    print(a)

条件表达式详解

       在选择和循环结构中,条件表达式的值为False的情况如下:

       False、0、0.0、空值None、空序列对象

a=[]
if not a:
    print('空的列表是false')
c='False'
if c:
    print(c)  #True  c为非空字符串
d=0
if d:
    print(d)  #False 不进行打印
a=6
if 1

9. 双分支选择结构  

s=input('请输入一个数字:')
if int(s)<10:
    print('s是小于10的数字')
else:
    print('s是大于等于10的数字')

三元条件运算符

条件为真时的值 if   (条件表达式)  else  条件为假时的值

s=input('请输入一个数字:')

print('s是小于10的数字' if int(s)<10 else 's是大于等于10的数字')

10.多分支选择结构

score=int(input('请输入分数:'))
grade='' #空字符串
if score<60:
    grade='不及格'
elif score<80: #已经>=80
    grade='及格'
elif score<90:
    grade='良好'
else:
    grade='优秀'

print('分数是{0},等级是{1}'.format(score,grade))
x=int(input('请输入x='))
y=int(input('请输入y='))
a=''
if x>0 and y>0:
    a='第一象限'
elif x<0 and y>0:
    a='第二象限'
elif x<0 and y<0:
    a='第三象限'
else:
    a='第四象限'
print('坐标为({0},{1}),属于{2}'.format(x,y,a))
score=int(input('请输入一个0-100之间的分数:'))
degree='ABCDE'
num=0
if score>100 or score<0:
    score=int(input('输入错误!请输入一个在0-100之间的数字:'))
else:
    num=score//10
    if num<6:
        num=5

    print('分数是{0},等级是{1}'.format(score,degree[9-num]))

 11.循环结构

num=0
while num<=10:
    print(num)
    num+=1
num=0
sum=0
while num<=100:
    sum=sum+num
    num+=1
print(sum)

 

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/273448.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

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

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