11-23-day05-python入门-字典与集合及文件

本文介绍了Python中的字典和集合的基本使用,包括它们的定义、常见操作和内置方法。重点讲述了字典的按key存取、删除、长度计算、成员运算等操作,以及集合的去重、关系运算等功能。同时,文章还探讨了文件操作的基础知识。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一:字典类型

基本使用

1、用途:按照key:value的形式存放多个值

2、定义方式:在{}内用逗号分隔开多个key:value的元素,其中value可以是任意数据类型,而key必须是不可变类型,通常是字符串类型,

d={1:1111,(1,2,3):2222} # d=dict(…)

print(d[(1,2,3)])

key不能重复

d={“k1”:111,“k2”:222,“k3”:333,“k1”:444,“k1”:5555}

print(d)

dict数据类型转换

res=dict([(“k1”,1111),(“k2”,2222),(“k3”,3333)])

print(res)

res=dict(x=111,y=222,z=333)

print(res)

res={}.fromkeys([“name”,“age”,“gender”],None)

print(res)

res={}

print(res,type(res))

3、常用操作+内置的方法

优先掌握的操作:

1、按key存取值:可存可取

d={“k1”:111,“k2”:222,“k3”:333}

d[“k1”]=666

print(d)

d[“k4”]=444444

print(d)

l=[111,222,333]

l[0]=666

print(l)

l[3]=777

2、长度len

d={“k1”:111,“k2”:222,“k3”:333}

print(len(d))

3、成员运算in和not in

d={“k1”:111,“k2”:222,“k3”:333}

print(“k1” in d)

4、删除

d = {“k1”: 111, “k2”: 222, “k3”: 333}

方式一:

del d[“k1”]

print(d)

方式二:

res=d.pop(“k1”)

print(res)

print(d)

5、键keys(),值values(),键值对items()

d = {“k1”: 111, “k2”: 222, “k3”: 333}

6、循环

for k in d.keys():

print(k)

for k in d:

print(k,d[k])

for v in d.values():

print(v)

for k,v in d.items(): # k,v=(‘k1’, 111)

print(k,v)

print(d.keys(),type(d.keys()))

print(d.values())

print(d.items())

7、get

d = {“k1”: 111, “k2”: 222, “k3”: 333}

print(d[“kkkk”])

print(d.get(“kkkk”))

需要掌握的操作

d={“k1”:1111,“k2”:222,“k3”:333}

dic=d.copy()

print(dic)

d.update({“k3”:444,“k5”:5555})

print(d)

res=d.popitem()

print(res)

if “k1” not in d:

d[“k1”]=66666666666666

res=d.setdefault(“k1”,666666666666)

print(d)

print(res)

==该类型总结

存多个值

无序

可变

二集合
基本使用

1、用途:

(1)去重

(2)关系运算

2、定义方式:在{}内用逗号分隔开多个不可变类型

集合特点:

1、元素必须是不可变类型

2、集合内元素无序

3、集合内元素唯一

s={111,111,111,111,111,“aaa”,3.3,(111,222)} # s=set(…)

print(s)

数据类型转换

res=set(“hello”)

print(res)

res=set([111,222,333,111,[1,2,3]])

print(res)

集合的去重

nums=[111,“aaa”,111,111,222,3333,444,[‘x’,‘y’]]

s=set(nums)

nums=list(s)

print(nums)

写代码去重

l=[

{‘name’:‘egon’,‘age’:18,‘sex’:‘male’},

{‘name’:‘alex’,‘age’:73,‘sex’:‘male’},

{‘name’:‘tom’,‘age’:20,‘sex’:‘female’},

{‘name’:‘egon’,‘age’:18,‘sex’:‘male’},

{‘name’:‘egon’,‘age’:18,‘sex’:‘male’},

]

res=[]

for item in l:

if item not in res:

res.append(item)

print(res)

3、常用操作+内置的方法

#优先掌握的操作:
#1、长度len

s={11,222,333}

print(len(s))

#2、成员运算in和not in

print(11 in s)

=====关系运算

pythons=[‘alex’,‘egon’,‘yuanhao’,‘wupeiqi’,‘gangdan’,‘biubiu’]

linuxs=[‘wupeiqi’,‘oldboy’,‘gangdan’]

l=[]

for x in pythons:

if x in linuxs:

# print(x)

l.append(x)

print(l)

pythons={‘alex’,‘egon’,‘yuanhao’,‘wupeiqi’,‘gangdan’,‘biubiu’}

linuxs={‘wupeiqi’,‘oldboy’,‘gangdan’}

#3、|并集:

print(pythons | linuxs)

print(pythons.union(linuxs))

#4、&交集: 共同部分

print(pythons & linuxs)

print(pythons.intersection(linuxs))

pythons=pythons & linuxs

print(pythons)

pythons.intersection_update(linuxs)

print(pythons)

#5、-差集

print(pythons - linuxs)

print(pythons.difference(linuxs))

print(linuxs - pythons)

print(linuxs.difference(pythons))

#6、^对称差集: 取出只报名一门课的学生

res=(pythons - linuxs) | (linuxs - pythons)

res=pythons ^ linuxs

print(res)

print(pythons.symmetric_difference(linuxs))

#7、==

s1={1,2,3}

s2={3,2,1}

print(s1 == s2)

#8、父集:>=,子集:<=

s1={1,2,3,4,5}

s2={3,2,1}

print(s1 >= s2)

print(s1.issuperset(s2))

print(s2 <= s1)

print(s2.issubset(s1))

需要掌握

s={“aaa”,22,3,“bbb”}

s.update({3,4,5})

print(s)

res=s.pop()

print(s)

print(res)

res=s.remove(“bbb”)

print(s)

print(res)

s.discard(“cccccccccc”)

s.remove(“cccccccccc”)

print(s)

s.add(“ccc”)

print(s)

s1={1,2,3}
s2={4,5,6,3}

print(s1.isdisjoint(s2))

==该类型总结

存多个值

无序

可变

s={1,2,3}
print(id(s))
s.add(4)
print(id(s))
三:文件
1.什么是文件
文件是操作系统提供给用户和应用程序存取硬盘的一种机制
2.为何要用文件
永久保存文件
3.如何用文件

应用程序 open()
操作系统 文件
计算机硬件(硬盘

(一)操作文件的步骤

f=open(r"aaa\a.txt",mode=“rt”,encoding=‘utf-8’)

# f的值:文件对象/文件句柄

data=f.read()

# print(data)

# print(f)

f.close() # 回收系统资源

# print(f)

f.read()

(二)with上下文管理
with open(r"aaa\a.txt",mode=“rt”,encoding=‘utf-8’) as f1,
open(r"aaa\b.txt",mode=“rt”,encoding=‘utf-8’) as f2:
f1.read()
f2.read()

11-27 3963
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值