0
点赞
收藏
分享

微信扫一扫

【超简单】python第七 章教学

萍儿的小确幸 2022-02-14 阅读 19

本章代码比较多,多敲多记多做多想。 

七.字典和集合

1.字典

1.字典的创建

(1)创建字典并赋值

d1 = {}
d2 = {'name':'yyx','age':20}
print(d1)
print(d2)

-----------------------------
{}
{'name': 'yyx', 'age': 20}
d3 = {'name':{'number1':'yyx','number':'zzy'},'age':20}
print(d3)

----------------------------------------
{'name': {'number1': 'yyx', 'number': 'zzy'}, 'age': 20}

(2)dict函数

d4 = dict()    
print(d4)

-----------------------
{}
d = dict((['x',1],['y',2]))
print(d)

--------------------------------
{'x':1,'y':2}

2.字典的常用操作

(1)字典的访问

#以关键字进行索引计算
dict1 = {'name':'yyx','age':20}
print(dict1['age'])

-----------------------------
20
#字典嵌套字典的关键字索引

dict2 = {'name':{'no1':'yyx','no2':'zzy'},'age':20}
print(dict2['name']['no1'])

----------------------------------------------------
yyx
#字典嵌套列表的关键字索引

dict3 = {'name':'yyx','score':[10,20,30,40]}
print(dict3['score'][1])

-----------------------------------------
20
#字典嵌套元组的关键字索引

dict4 = {'name':'yyx','score':(10,20,30,40)}
print(dict4['score'][1])

------------------------------------------
20

(2)字典的更新

dict1 = {'name':'yyx','age':20}
dict1['name'] = 'zzy'               #修改字典元素
dict1['score'] = [10,20,30,40]      #添加一个元素

print(dict1)

----------------------------------------
{'name': 'zzy', 'age': 20, 'score': [10, 20, 30, 40]}

(3)字典元素的删除

dict1 = {'a':1,'b':2,'c':3}
del dict1['a']
print(dict1)

-------------------------------    
{'b': 2, 'c': 3}

del 字典:就删除了该字典

(4)检查字典关键字是否存在

  • 关键字 in 字典:值为True,则表示关键字存在于字典中
  • 关键字 not in 字典:值为True,则表示关键字不存在于字典中

3.字典的常用方法

(1)fromkeys()

d1 = {}.fromkeys(('x','y'),-1)
print(d1)

------------------------------
{'x': -1, 'y': -1}

(2)keys(),values(),items()

d = {'name':'yyx','sex':'man'}
print(d.keys())
print(d.values())
print(d.items())

--------------------------------------
dict_keys(['name', 'sex'])
dict_values(['yyx', 'man'])
dict_items([('name', 'yyx'), ('sex', 'man')])

(3)copy(),clear(),pop(key)

d = {'math':10,'english':20,'lisan':30}
d.pop('math')
print(d)
print(d.copy())
print(d.clear())

------------------------------------------
{'english': 20, 'lisan': 30}
{'english': 20, 'lisan': 30}
None

(4)get(),pop()

d = {'name':'yyx','sex':'man'}
print(d.get('name','zzy'))
print(d.get('name1','zzy'))

--------------------------------------
yyx
zzy

(5)update()

d1 = {'a':1,'b':2,'c':3}
d2 = {'d':4,'e':5}
d1.update(d2)
print(d1

------------------------------
{'a': 1, 'b': 2, 'c': 3, 'd': 4, 'e': 5}

4.字典的遍历

(1)遍历字典的关键字

d1 = {'a':1,'b':2,'c':3}
for key in d1.keys():
    print(key)

---------------------------
a
b
c

(2)遍历字典的值

d1 = {'a':1,'b':2,'c':3}
for value in d1.values():
    print(value)

--------------------------

1
2
3

(3)遍历字典的元素

d1 = {'a':1,'b':2,'c':3}
for item in d1.items():
    print(item)

---------------------------
('a', 1)
('b', 2)
('c', 3)

2.集合

1.集合的创建

s1 = {1,2,3,4,5,6,7,8}
print(s1)
s2 = set('abcdef')
print(s2)
s3 = {1,1,1,1,1}
print(s3)

----------------------------------
{1, 2, 3, 4, 5, 6, 7, 8}
{'c', 'e', 'd', 'f', 'a', 'b'}
{1}

注:集合不能有相同的元素

2.集合的常用运算

(1)传统的集合运算

  • 计算并集
s = {1,2,3}|{3,4,5}|{'a','b'}
print(s)

--------------------------------
{1, 2, 3, 4, 5, 'a', 'b'}
  • 计算交集
s = {1,2,3,4,5}&{2,3,4,1,}&{2,1,3,4,2}
print(s)

---------------------------------------
{1, 2, 3, 4}
  • 计算差集
s = {1,2,3,4,5,6,7,8,9} - {1,2,3,4,5}
print(s)

----------------------------------------
{8, 9, 6, 7}
  •  计算相异元素
s = {1,2,3,4,5,6,7,8,9} ^ {5,6,7,8,9,10}
print(s)

---------------------------------------
{1, 2, 3, 4, 10}

(2)集合的比较

  • s1==s2:  相同,True;不同,False
s1 = {4,3,2,1}
s2 = {1,2,3,4}
print(s1 == s2)

----------------------
True
  • s1!=s2:不同,True;相同,False
s1 = {4,3,2,1}
s2 = {1,2,3,4}
print(s1 != s2)

-----------------------------
False
  • s1<s2:s1是s2的纯子集,返回True
s1 = {4,3,2,1}
s2 = {1,2,3,4,5,6}
print(s1 < s2)

--------------------------
True
  • s1<=s2:s1是s2的子集,返回True
s1 = {4,3,2,1}
s2 = {1,2,3,4,5,6}
print(s1 <= s2)

-----------------------
True
  • s1>s2:s1是s2的纯超集,返回True
s1 = {4,3,2,1}
s2 = {1,2,3,4,5,6}
print(s1 > s2)

---------------------
False
  • s1>=s2:,s1是s2的超集,返回True
s1 = {4,3,2,1}
s2 = {1,2,3,4,5,6}
print(s1 >= s2)

-------------------------
False

3.集合的遍历

s = {10,20,30,40}
t = 0
for x in s:
    print(x)
    t += x

print(t)

--------------------------
40
10
20
30
100

4.集合的常用方法

(1)s1.isdisjoin(s2):如果s1和s2没有共同元素,返回True

s1 = {2,3}
s2 = {1,2,3,4}
print(s1.isdisjoint(s2))

--------------------------
False

(2)s1.union(s2,....,sn)并集

(3)s1.intersection(s2,....,sn)交集

(4)s1.difference(s2,....,sn)差集

(5)s,add(x)

s = {1,2,3,4,5}
s.add('abc')
print(s)

----------------------
{1, 2, 3, 4, 5, 'abc'}

(6)update(s1,s2,....,sn)

s = {10,20,30}
s.update({1,2,3},{3,4,5},{'a','b'})
print(s)

--------------------------------------
{1, 2, 3, 4, 5, 10, 20, 'b', 'a', 30}

(7)s.remove(x)

s = {1,2,3,4,5}
s.remove(4)
print(s)

---------------------
{1, 2, 3, 5}

注:如果x不存在,则报错

(8)s.discard(x)

s = {1,2,3,4,5}
s.discard(4)
print(s)

-----------------------
{1, 2, 3, 5}

注:同remove,如果x不存在,也不报错

(9)s.pop()

s = {1,2,3,4,5}
print(s.pop())

--------------------
1

(10)s.clear()

s = {1,2,3,4,5}
s.clear()
print(s)

----------------------
set()

本章结束了,因为时间太晚了,就不出例题了

举报

相关推荐

【超简单】python第九 章教学

python第七章(字典)

第七章

第七章:事务

第七章:集合

第七章 类

第七章 数组

第七章 集合

0 条评论