IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Python知识库 -> Python基础DAY4(9.27) -> 正文阅读

[Python知识库]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<a<10:
    print('哈哈哈哈哈')

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)

?

  Python知识库 最新文章
Python中String模块
【Python】 14-CVS文件操作
python的panda库读写文件
使用Nordic的nrf52840实现蓝牙DFU过程
【Python学习记录】numpy数组用法整理
Python学习笔记
python字符串和列表
python如何从txt文件中解析出有效的数据
Python编程从入门到实践自学/3.1-3.2
python变量
上一篇文章      下一篇文章      查看所有文章
加:2021-09-29 10:12:29  更:2021-09-29 10:14:11 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/15 16:32:20-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码