python基础学习Day_03

引言

        今天写帖子的时间有点早,主要今天确实没学啥,学习了元组,集合和字典。相比之下,他们很类似,和java中的数组,列表以及map集合很像很像。另外今天在网上找到爬虫组织,学习了基础爬虫,用requests库爬取mp3免费歌曲和MP4免费视频,这个我在最后面写吧,毕竟确实还没学到那,不如正题,今天学的是元组,集合和字典。

1.元组

元组和列表的区别

1、元组一旦创建不能被修改。
2、没有追加、删除、修改等操作。
3、在运行效率上,元组的运行效率比列表更高更快。
4、元组的由于不可被更改,它的代码具有保护性。

2.集合

特点

1、无序可变序列(元组) , [列表] , {字典} {集合}里面包含的元素都具有唯一性
2、集合里面的内容不可重复,可以进行增删改查。
3、集合里面只能存,不可变的数据类型。 数字、字符串、元组 只能添加这三种

集合的创建

1、set1 = set()
2、set1 = {1, 2, 3, 4}

集合的特性

1、无序性:集合没有索引
2、唯一性:去重复 集合里面不能添加列表
3、集合可以增删改查,所以集合可以改变,但是里面添加的元素不可变

集合增加

把 m 集合当中的元素添加到 s 中
s = {"a", "b", "c"} m = {"a1", "b1", "c2"} for i in m: s.add(i) print(s)

集合的更新

添加单个元素的时候使用add
批量添加元素:更新updata()

集合的删除

1、remove() 移除集合连存在的元素,如果元素不存在,则报错
2、discard()移除集合连存在的元素,如果元素不存在也不报错

集合 交集 并集 差集 对称差集

a = {1,2,3,4,5,6,7,8,9}
b = {1,3,5,7,9}

差集 a对b的差集

print(a - b) # a存在但是b不存在

a对b的交集

print(a & b)
print(s1.intersection(s2))

a和b的并集

print(a | b)

a和b的对称差集 并集减去交集

print(a ^ b)

a和b的对称差集

print((a-b) | (b-a))

集合和列表区别:

1、列表有序,集合无序
2、列表可重复,集合不能重复
3、列表可以存任何类型,集合只能存取不可变的数据类型
4、列表不能去交集并集,集合可以提取相同元素

字典

特点

1、它是以键值对的形式存在 key - value:它可以存储任意类型的元素
2、无序且可变
3、定义字典的时候,{key:value , key:value , ....}
4、字典中的键:任意不可变的数据类型。value可以是任何类型

字典创建格式

1、d1 = {} #一个空字典
2、d2 = dict() #创建一个空字典
3、key 不可以重复,value可以重复

字典的添加

1、字典的添加 根据 dic1[key] = dic1[value]
2、直接更新 d3.update({"eye" : "1.5"})

字典删除

d3 = {"name":"Ray" , "age":18 , "sex":["女"]}
1、通过删除键来删除键值对:del d3["eye"]
2、通过自身键来删除该键值对,这个方法具有返回值:返回value的值 ddd = d3.pop("eye")
3、d3.clear() 清空字典
4、del d3 :直接删除该字典

字典修改

d3["height"] = "2.0" , 直接将value赋值给key

字典的查询

print(d3.keys()) # 打印全部的键
print(d3.values()) # 打印里面全部的值
print(d3.items()) # 打印里面所有的键值对

爬虫

以爬取网易云免费音乐为例

1.抓取网址,打开f12开发者工具

2.下载requests库包

终端上输入命令    pip install requests

3.爬取数据,转换为二进制文件,在找到对应文件写入,代码如下

#  导包
import requests

#爬取的链接对象
url = "https://webfs.hw.kugou.com/202407112128/dc46ea0fb2263e15484ed760d5671b83/v2/6a350e487263733359e7f2b64bd974ac/part/0/960127/G335/M06/64/E0/clip_L5UEAGTWYQ6Abc24AEQsOeRD3aI642.mp3"
# url = "https://m701.music.126.net/20240711214716/ec4e238a4a11ccc4e1bbddae6996141a/jdyyaac/obj/w5rDlsOJwrLDjj7CmsOj/44436913695/d844/3856/e75e/e3040df6368f422ebaf7379cfdf9f19d.m4a"

#发送网络请求后得到的二进制文件
message = requests.get(url).content

# 打开mp3文件,如果没有就创建mp3文件
filemp3 = open("薛之谦酷狗.mp3","wb")

# 将二进制文件写入mp3文件
filemp3.write(message)

最终结果:

结语

        这两天确实学的太快了,放慢点速度,明天的话就是背背这3天的帖子,查缺补漏。今天写完帖子才22:47,可以打一把游戏了,哈哈哈。今天也是要做Python大神的一天,兄弟们,mai起!

  • 10
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值