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

Python基础知识(Day 4)——字典、集合、控制语句学习

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

Python基础知识(Day 4)——字典、集合、控制语句学习

3 字典 一个典型的字典的定义方式:         a = {'name':'gaoqi','age':18,'job':'programmer'} 3.1 字典的创建
 #通过{}、dict()来创建字典对象 a = {'name':'gaoqi','age':18,'job':'programmer'}  b = dict(name='gaoqi',age=18,job='programmer') #通过 zip()创建字典对象 >>> d = dict(zip(k,v)) #通过 fromkeys 创建值为空的字典 >>> a = dict.fromkeys(['name','age','job'])  # 值都是None
3.2 字典元素的访问
#通过 [键] 获得“值” >>> a['name'] #通过 get()方法获得“值” >>> a.get('name') >>> a.get('sex','NO')  #指定键不存在,也可以设定指定键不存在时默认返回的对象 #列出所有的键值对 >>> a.items() #列出所有的键,列出所有的值 >>> a.keys() >>> a.values() #len() 键值对的个数 #检测一个“键”是否在字典中 >>> "name" in a
3.2 字典元素添加、修改、删除

#给字典新增“键值对”

>>>a = {'name':'gaoqi','age':18,'job':'programmer'}
>>>a['address']='西三旗 1 号院'
>>>a
>>>{'name': 'gaoqi', 'age': 18, 'job': 'programmer', 'address': '西三旗 1 号院'}
>>>a['address']='普陀区'
>>>a
>>>{'name': 'gaoqi', 'age': 18, 'job': 'programmer', 'address': '普陀区'}

#使用 update()将新字典中所有键值对全部添加到旧字典对象上。如果 key 有重复,则直 接覆盖 >>> a.update(b) #字典中元素的删除,可以使用 del()方法;或者 clear()删除所有键值对;pop()删除指定 键值对,并返回对应的“值对象” >>> del(a['name']) >>> b = a.pop('age') #popitem() :随机删除和返回该键值对 >>> a.popitem()

3.3 字典解包

>>> name,age,job=s #默认对键进行操作 >>> name,age,job=s.items() #对键值对进行操作 >>> name,age,job=s.values() #对值进行操作
s = {'name':'gaoqi','age':18,'job':'teacher'}
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("salary"))


# 打印表中所有的薪资
for i in range(len(tb)):
    print(tb[i].get("salary"))
    
# 打印表中所有的数据
for i in range(len(tb)):
    print(tb[i].get("name"),tb[i].get("age"),tb[i].get("salary"),tb[i].get("city"))

3.4 字典核心底层原理(重要)

1. 键必须可散列 (1) 数字、字符串、元组,都是可散列的。 (2) 自定义对象需要支持下面三点:         1 支持 hash()函数         2 支持通过__eq__()方法检测相等性。         3 若 a==b 为真,则 hash(a)==hash(b)也为真。 2. 字典在内存中开销巨大,典型的空间换时间。 3. 键查询速度很快 4. 往字典里面添加新建可能导致扩容,导致散列表中键的次序变化。因此,不要在遍历字 典的同时进行字典的修改

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

 4.1 集合创建和删除

#使用{}创建集合对象,并使用 add()方法添加元素

>>> a = {3,5,7}

>>> a.add(9) >>> a {9, 3, 5, 7}

#使用 set(),将列表、元组等可迭代对象转成集合。如果原来数据存在重复数据,则只保

留一个。 a = ['a','b','c','b']
b = set(a)
b
{'c', 'b', 'a'} #remove()删除指定元素;clear()清空整个集合 a = {10,20,30,40,50}
a.remove(20)
a
{50, 40, 10, 30}
a.clear()
a
set()
 4.2 集合相关操作
>>> a = {1,3,'sxt'} >>> b = {'he','it','sxt'} >>> a|b #并集 {1, 3, 'sxt', 'he', 'it'} >>> a&b #交集 {'sxt'} >>> a-b #差集 {1, 3} >>> a.union(b) #并集 {1, 3, 'sxt', 'he', 'it'} >>> a.intersection(b) #交集 {'sxt'} >>> a.difference(b) #差集 {1, 3}

 第三章作业

第四章  控制语句  1.1 单分支选择结构 if 语句单分支结构的语法形式如下: if 条件表达式: 语句/语句块 其中: 1 .条件表达式:可以是逻辑表达式、关系表达式、算术表达式等等。 2 .语句/语句块:可以是一条语句,也可以是多条语句。多条语句,缩进必须对齐一致。


num = input("输入一个数字:")

if int(num)<10:
    print(num)

·条件表达式中,不能有赋值操作符“=”

1.2 双分支选择结构

双分支结构的语法格式如下:

if 条件表达式 :

        语句 1/语句块 1

else:

        语句 2/语句块 2

        

a = input("请输入一个数字:")

if int(a)<10:
    print("a是小于10的数字")
else:
    print("a是大于等于10的数字")

 1.3 三元条件运算符

Python 提供了三元运算符,用来在某些简单双分支赋值情况。三元条件运算符语法格式如 下: 条件为真时的值  if  (条件表达式)  else 条件为假时的值
a = input("请输入一个数字:")
print("a是小于10的数字") if int(a)<10 else print("a是大于等于10的数字")

 1.4 多分支选择结构

 

 

score = int(input("请输入分数"))
grade = ""

if score<60:
    grade = "不及格"
elif score<80:
    grade = "及格"
elif score<90:
    grade = "良好"
else:
    grade = "优秀"

print("分数是{0},等级是{1}".format(score,grade))


请输入分数70
分数是70,等级是及格
1.5 选择结构嵌套             选择结构可以嵌套,使用时一定要注意控制好不同级别代码块的缩进量,因为缩进量决定了 代码的从属关系。 语法格式如下:         if 表达式 1:                 语句块 1                 if 表达式 2:                         语句块 2                 else:                         语句块 3         else:                 if 表达式 4:                         语句块 4 2 循环结构 循环结构用来重复执行一条或多条语句。表达这样的逻辑:如果符合条件,则反 复执行循环体里的语句。在每次执行完后都会判断一次条件是否为 True,如果 为 True 则重复执行循环体里的语句。图示如下:

 2.1 while 循环

 while 循环的语法格式如下:

                while 条件表达式:                                 循环体语句

num = 0
sum_0 =0
sum_1 = 0 #计算奇数和
sum_2 = 0 #计算偶数和
while (num<=100):
    sum_0 += num
    if (num%2==0):
        sum_2 += num
    else:
        sum_1 += num
    num += 1
print(sum_0,sum_1,sum_2)

5050 2500 2550

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

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

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