xigua python

您所在的位置:网站首页 reloadpage什么意思 xigua python

xigua python

#xigua python| 来源: 网络整理| 查看: 265

[no-title] 西瓜创客官网 - 下载 - Scratch,Python,C++,图形化编程,少儿编程社区

下载西瓜创客

专业为 7-15 岁的小学生提供图形化与 Python 编程平台

深受全球 60 个国家的五百万用户信赖

下载西瓜编程客户端 - Scratch,Python,C++,图形化编程,少儿编程社区

请不要在微信浏览器中下载

应用安装包

哦,

您可以在

系统浏览器

中输入

xigua.pro

来访问下载页面。

python 抓取xigua无水印视频_7023001734721045028?wid_try=1_ITEnzo的博客-CSDN博客

这两天刷抖音和xigua比较多, 突然想要有一些视频搬运工是怎么将抖音和xigua的视频水印去除的呢, 特地的去研究了一下

假如我们抓取的是这个视频为例:https://www.ixigua.com/6896685054102077955

我们通过这个网页的源代码可以发现一些东西:

这个网页基本上由网页头和 javascrip中 的json 数据组成的, 

通过我的分析, 今天我们最终拿到的视频地址在下方的json中,现在我们就来分析 一下里面包含了哪些数据

dynamic_video_list:不同清晰度的视频列表

dynamic_audio_list:不同清晰度的音频列表

我们通过搜索"main_url"我们就可以看到出现了几个视频地址,其中就几个不同分辨率的视频地址,

main_url 这些地址也不标准的http 的网页地址, 根据我的经验, 这些地地址是经过的base64 加密了, 所有我们将480p的视频 main_url 视频地址进行解密得到

http://v9-xg-web-s.ixigua.com/a144f011d850bcd0ea4e1f4b82a1a07b/60090425/video/tos/cn/tos-cn-vd-0026/5019bc042c754bc8b7e2cc30aca0a08d/media-video-avc1/?a=1768&br=1416&bt=472&cd=0%7C0%7C0&cr=0&cs=0&cv=1&dr=0&ds=2&er=0&l=2021012111235901020209213212015C72&lr=default&mime_type=video_mp4&pl=0&qs=0&rc=Mzxlc2Q4M25neDMzZDczM0ApODYzNzQ5aTs3Nzk0Ojg0NmcwZGQvNG9tL25fLS1gLTBzczViLl8tYF9hX14xXi02LS46Yw%3D%3D&vl=&vr=

我们将视频放到浏览器中去观看一下效果。这个视频就是我需要的没有水印的视频文件了。

呦西, xigua视频大大的坏, 这个视频居然没有声音。

我们继续向下分析,果不其然, 在下面发现了这个  dynamic_audio_list  动态音频列表  , 这里的地址 也是经过了base64 加密的

http://v9-xg-web-s.ixigua.com/510994a02249a2713ead6fef898c6e67/60090425/video/tos/cn/tos-cn-vd-0026/d4e75e21a0144b6aa783a87eaceb0da0/media-audio-und-mp4a/?a=1768&br=0&bt=0&cd=0%7C0%7C0&cr=0&cs=0&cv=1&dr=0&ds=&er=0&l=2021012111235901020209213212015C72&lr=default&mime_type=video_mp4&pl=0&qs=0&rc=Mzxlc2Q4M25neDMzZDczM0ApZzBkZC80b20vbl8tLWAtMHNzOmM%3D&vl=&vr=

我们放到浏览器看一下, 这里是音频文件

所以 我得出了一个结论, xigua 将无水印的视频文件将 视频和音频进行分开了。后期我们可以将视频和音频进行合并。

以上的分析 我们也得到了我们想要的东西了, 我们下面将通过代码的形式将视频和音频进行下载一下。

我的开发环境  python3 

直接上代码

import requestsimport osurl = "https://www.ixigua.com/6896685054102077955"header = { "user-agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 11_1_0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.88 Safari/537.36", # "sec-ch-ua": 'Google Chrome";v="87", " Not;A Brand";v="99", "Chromium";v="87'}main_page = requests.get(url, headers=header)# 返回信息编码异常,进行编码转换main_page.encoding = main_page.apparent_encodingprint(main_page.text)

返回数据

function reloadPage() { setRealReferrer() reportDuration() insertParamAndReload('wid_try','1') }

在返回的数据中, 我们可以看到 我们请求的地址 做了机器验证, 简单的看了一下, 页面将会调到一个新的地址, 所以我们在url 上加上 wid_try=1,我们就可以使用 python request 正常拿到页面数据。如下

url = "https://www.ixigua.com/6896685054102077955?wid_try=1"

再执行一下就没有问题了 。

诶,中午吃了一个饭, 不想整理代码思路了, 直接附上完整的代码,如果觉得这个文章对你有帮助, 给我点个赞, 让我知道已经帮助了你。

如果能帮助更多的人, 后续更新 获取抖音无水印视频教程

import requestsimport osimport re, jsonimport base64url = "https://www.ixigua.com/6896685054102077955?wid_try=1"header = { "user-agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 11_1_0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.88 Safari/537.36", # "sec-ch-ua": 'Google Chrome";v="87", " Not;A Brand";v="99", "Chromium";v="87'}main_page = requests.get(url, headers=header)main_page.encoding = main_page.apparent_encodingprint(main_page.text)re_str = "window._SSR_HYDRATED_DATA=(.*?)"json_data: str = re.compile(re_str).findall(main_page.text)[0]# 转成 json 异常, 替换一下字符replace = json_data.replace(":undefined", ':"undefined"').replace("null", '"null"')print(replace)json_loads = json.loads(replace)print(json_loads)paly_base64_url_ = \ json_loads['anyVideo']['gidInformation']['packerData']['video']['videoResource']['dash']['dynamic_video'][ 'dynamic_video_list'][-1]['main_url']audio_base64_url_ = \ json_loads['anyVideo']['gidInformation']['packerData']['video']['videoResource']['dash']['dynamic_video'][ 'dynamic_audio_list'][-1]['main_url']title = json_loads['anyVideo']['gidInformation']['packerData']['video']['title']# 解密play_url = base64.b64decode(paly_base64_url_).decode("utf-8")audio_url = base64.b64decode(audio_base64_url_).decode("utf-8")print("title", title)print("play_url", play_url)print("audio_url", audio_url)video = requests.get(url=audio_url, headers=header)with open(title + "audio.mp4", 'wb')as file: file.write(video.content) file.close() print("===>音频下载完成!")video_file = requests.get(url=play_url, headers=header)with open(title + "video.mp4", 'wb')as file: file.write(video_file.content) file.close() print("===>视频下载完成!")

最后,感谢您的阅读。

利用Python合成大西瓜(第一版) - 知乎

这周五没漂亮妹妹带我出去玩了呜呜,无聊在家扣手机,发现大家都在合成大西瓜 。作为一个未来年轻无为的计算机科学家(或许是人民艺术家),我是不屑于玩这种浪费时间又无聊的游戏的(因为玩了四小时才合成了第一个大西瓜),但为了投身到人民群众中去,我决定尝试写一个程序挂机跑一下ε=ε=ε=(~ ̄▽ ̄)~

写了一下午,我的第一版Python大西瓜 终于写完了,虽然还是挺智障的,但至少打败了50%的人,也算通过图灵测试了哈哈哈哈哈哈。其实是怕过两天我写个最终版,大家都玩够了,小丑就是我自己了(╯‵□′)╯︵┻━┻ 为了吃一口热乎的s**t,我就现在发了哈哈哈哈。

如果下周五还有人玩这游戏,我还会继续写的(๑•̀ㅂ•́) ✧

本文章分为七部分(如果我能坚持写完不睡着的话):

图像捕捉

水果检测

水果识别

去除噪声

点击控制

游戏策略

未来展望

话不多说,开冲!

1. 图像捕捉

作为一个计算机程序,合成大西瓜的第一步就是能够看到大西瓜

这一步超级简单了,只需要使用python自带的windows图形界面接口win32gui就可以操作。其中最重要的环节就是获取浏览器窗口的上下左右四个顶点的坐标,调用FindWindow方法获取窗口对象,然后把窗口对象传给GetWindowRect获取顶点坐标。

这地方我卡了很久,因为FindWindow需要首先知道窗口的名字,我试了试“Edge”不对,“合成大西瓜”也不对,最后机智的我打开了Alt + del,发现它叫“小游戏:合成大西瓜 - 个人 - Microsoft\u200b Edge”仿佛在对我说:“我不叫喂,我叫……”

然后再用PIL库的ImageGrab方法截图屏幕窗口内的像素,转化成numpy数组,就可以进行后续处理啦。

2. 水果检测

在我们获取到图像后,下一步就是识别水果的位置了,一个自然的思路就是识别圆,因为这里的水果都是圆的(我真谢谢作者没有加个香蕉。什么?你说甘蔗也是水果……)

然后我还想吐槽一下,下面这个到底是什么东西啊?是两排牙齿吗?有没有人和我一样觉得莫名很恶心?而且这玩意转换成灰度图以后更恶心……

Ok 基于这个思路,我们只需要找到图里面的圆形就好啦!

这里的思路是OpenCV里面已经实现好的经典圆形识别方法——霍夫圆检测法(看清楚,不是霍夫曼,不是霍夫曼,不是霍夫曼)。基本思路就是找几个边缘点,然后边走边画圆,最后看圆心是不是在一起吧……我不是搞CV的,如果有错误请大佬们评论区指正。

这一步主要有两个难点吧。第一个就是水果都叠在一起,两个圆形很容易连通在一起,从而找不到圆。我是通过设置一个13乘13的高斯滤波器,先把边缘模糊一下,然后再提取会好很多。

第二个难点是cv2.HoughCircles有三四个要调整的参数,怎么选对最后的识别效果影响很大……我是通过GridSearch遍历参数看识别效果选定的最后参数,老深度学习炼丹师了哈哈哈。

最后我们获取的是很多圆形的坐标以及半径。

3. 水果识别

下一步我们拿到一堆圆形后,就是要知道每个圆形对应的是哪种水果了。然后我想采访一下游戏的开发者,为什么橙子 和柠檬 要设计成一样大?拉瓦锡的棺材板快要压不住了(物质守恒定律)。

所以我不能够通过圆形的半径确定是哪个水果了(大哭),而且霍夫圆检测的结果扰动也挺大的,同一个水果两次检测的半径可能有一定差别。

到这里,一个聪明的靓仔就会输入import pytorch摩拳擦掌准备模式识别了,我这种憨憨选择的是把圆内部的平均RGB值求出来,然后加上半径一起对比,找相似度最大的。

觉得有点对不起初中数学老师,忘了根据圆心和半径怎么求圆内坐标了,求个内接矩形内像素的RGB平均值……

最后就建立了这么一个从RGB平均值+半径到水果种类的映射:

fruit_type

=

{

'GRAPE'

:

[

133.68415638

,

42.41563786

,

112.84156379

,

18

],

'KIWI'

:

[

132.0420593

,

201.00264307

,

64.44633418

,

53

],

'CHERRY'

:

[

238.33213966

,

39.17905103

,

56.09982095

,

28

],

'ORANGE'

:

[

246.2261046

,

129.05342651

,

21.69071235

,

37

],

'LEMON'

:

[

237.19926471

,

216.40716912

,

65.56176471

,

43

],

'TOMATO'

:

[

238.18209682

,

89.91402075

,

95.00730902

,

66

],

'PEACH'

:

[

235.99086897

,

165.13803074

,

97.37832902

,

65

],

'PINEAPPLE'

:

[

248.87955751

,

219.50704342

,

88.25265164

,

89

],

'COCONUT'

:

[

230.9732507

,

225.98286918

,

211.98437795

,

101

],

'WATERMELON'

:

[

236.62388536

,

100.24692594

,

121.0164732

,

143

],

}

4. 去除噪声

就当我以为可以进行下一步时,我又发现了很多问题,主要是因为大菠萝 和椰子 ,我爱椰汁 ,我恨椰子。

这菠萝和椰子有两层,本身就含有两个圆,所以识别出来的结果经常出来很多重合的圆,例如下面这样:

所以我还得想办法去除重合的圆,这里我选择的方法是对所有的圆心两两比较,如果他们的距离的和小于两个圆半径的和,那么就是重合了。那么我们如何判断哪个圆是正确的呢?继续比较相似度吧…跟标准图形相似度大的就是正确的。

虽然方法很朴实无华,但它貌似确实很有用。

5. 点击控制

这个其实也很简单,没什么难点

使用Python内置的win32api.mouse_event方法模拟鼠标点击事件就可以,只有一个需要注意的地方是,它是会强制控制你的鼠标……所以如果你的手速不够快的话,可能点击不了右上角关闭程序的那个叉叉,只能眼睁睁看着你的水果叠到最上面……

6. 游戏策略

实际上今天我主要是在摸索怎么识别和控制了,自己想的算法都没有实现,为了吃一口热乎s**t,现在只是一个智障版本。

策略是如果有一样的就往那里落,如果没有就落在最中间。

这个策略显然是非常烂的,因为一样的话会变大可能对结构更加不利。如果没有一样的,落在不同位置也会导致整体结构不同……我觉得首先应该是避免小的在大的上面,类似于2048尽量别往上滑的策略,因为如果大的在上面小的可能永远无法合成了。

应该去如何维持一个良好的结构,是不是要像计算机体系结构一样设计个多级缓存?能不能为每一步设计一个评估指标,对算法自动进行迭代优化?每次刷新的水果顺序是不是相同的,以及是否有一定统计规律?如果我们能够预先知道后续刷新的水果,我们就可以使用A*或者其他启发式算法进行搜索了。甚至我们能不能用一些AI方法例如强化学习来做?

有好多好多可以尝试的有趣的Idea,如果这游戏下周五还有人玩,我很愿意尝试一些新的思路,这个合成大西瓜系列也会继续更新哈哈。但是现在,真的,我搞了一整天,满脑子都是山竹+山竹=樱桃……再让我看一眼我就吐了

7. 未来与展望

首先介绍一下小雨姑娘吧,年轻无为的计算机博士生,未来的人民艺术家,现居青岛。基本平时时间都在看书和做Research了,有时间会来知乎写写文章。大家可以关注下我的两个专栏,认真写知识的那种,跟这篇文章不一样的:

我的机器学习专栏,里面有一些机器学习基础知识,还有一些我的机器学习比赛的方案与总结:

我的算法专栏(还没开始写,这半年会更专注这个专栏),里面会很认真严肃讲一些基础算法,主要是学习算法思想以及证明方法,内容主要来源于Algorithm Design和Introduction to Algorithm这两本书。

困到睁不开眼,还是坚持写完了……

那么。

晚安,下周五见。

python爬取下载m3u8加密视频,原来这么简单! - 腾讯云开发者社区-腾讯云

1.前言

爬取视频的时候发现,现在的视频都是经过加密(

m3u8

),不再是mp4或者avi链接直接在网页显示,都是经过加密形成ts文件分段进行播放。

今天就教大家如果通过python爬取

下载m3u8加密视频

2.分析网页

1.电影视频来源

http://www.caisetv.com/

复制

2.分析m3u8加密目录

http://www.caisetv.com/dongzuopian/chaidanzhuanjia/0-1.html

复制

在视频播放的页面,通过F12可以查看网络数据包

https://xigua-cdn.haima-zuida.com/20210219/19948_fcbc225a/1000k/hls/index.m3u8

复制

这里的ts就电影的加密分段视频

https://xigua-cdn.haima-zuida.com/20210219/19948_fcbc225a/1000k/hls/

复制

上面的m3u8链接掉index.m3u8后,在拼上

075a34cccdd000000.ts

等ts名称就是分段视频的链接

如下所示:

https://xigua-cdn.haima-zuida.com/20210219/19948_fcbc225a/1000k/hls/075a34cccdd000000.ts

复制

通过浏览器把这个分段视频下载后打开:

所以只要把所有的ts下载并合并就是完整的电影视频!!!

3.下载ts

1.下载ts分段视频

刚刚已经把ts的所有名称下载下来了

接下来通过python代码去读取这个文件,提取出名称,拼接链接后下载保存到一个文件夹里!

headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 6.3; Win64; x64; rv:84.0) Gecko/20100101 Firefox/84.0',}###下载ts文件def download(url,name): r = requests.get(url, headers=headers) with open(name+"", "wb") as code: code.write(r.content)with open("index.m3u8","r") as f: ts_list = f.readlines()#去掉前面没用的信息ts_list = ts_list[5:]urlheader="https://xigua-cdn.haima-zuida.com/20210219/19948_fcbc225a/1000k/hls/"count = 0for i in ts_list: if "#" not in i: i = i.replace("\n","") download(urlheader+""+i,"cdzj2/"+str(count)+".ts") count = count+1 print(count)

复制

这样就可以把ts文件全部下载下来,但是一个一个下载很慢,下面通过多线程下载,提升下载速度!!!

2.多线程下载ts视频

for i in ts_list: if "#" not in i: i = i.replace("\n","") n = i[-7:] threading.Thread(target=download, args=(urlheader+""+i,"cdzj2/"+str(n),)).start() #download(urlheader+""+i,"cdzj2/"+str(count)+".ts")

复制

通过多线程很快就可以将这些ts文件下载到本地!!!

4.合并ts

cmd合并文件

通过这个命令(

cmd终端中运行

),在含有ts文件的文件夹中就可以将ts文件合并(

按名称顺序进行排列合并

),并保存成new.mp4

5.总结

分析m3u8加密文件

python下载ts文件

cmd合并ts保存成mp4格式

西瓜创客Python下载|西瓜创客Python客户端 官方版v1.0.6 下载_当游网

西瓜创客Python客户端

是专为少儿学习Python课程打造的专用学习软件,Python作为西瓜创客中P系列的选修课中的代表是课程,是喜欢编程的孩子一定要解除的课程,通过学习Python可以提升孩子的思维能力和创造力。P系列课程提供的 “项目” 就像提供了大量“乐谱”。 通过不断实践,巩固孩子的编程能力。

软件特色

趁孩子上小学,培养孩子逻辑思维、学编程,当然选择西瓜创客,在家就能上。

西瓜创客是一家在线少儿编程实力品牌教育机构,专注于为 7-12 岁孩子提供编程教育和思维训练,全面提升孩子的学习力与创造力。

国内编程教育刚刚起步,好的编程老师线下难找,还要忍受接送劳累,加重孩子、家长负担。

西瓜创客互动录播课,有最好的课程和老师作伴,视频可反复观看;还有资深编程老师在线答疑,问题不过夜。在西瓜创客,孩子学习更轻松、更爱学,完课率已经超过 1v1 直播课程。

课程介绍

1、西瓜创客编程基础课

学习时间:6 个月左右

学习目标:学习编程的基本语法,掌握编程中 90% 的核心语句,具备基本的计算思维(Computational Thinking)和编程能力

学习产出:超过 36 个编程作品,包括小游戏、动画绘本和实用工具,能从 0 到 1 地设计与编写多功能程序  。

2、西瓜创客编程进阶课

学习时间:6个月

学习目标:以项目制(PBL)的方式展开,让孩子通过实用程序开发、物理数学建模和游戏制作等形式,运用学到的编程知识,掌握遍历、搜索等 20 种编程算法。。

学习产出:12 个跨学科主题项目,完成智能机械臂,卡路里计算器,火箭回收模拟等作品。

3、西瓜创客编程应用课

学习时间:1-2年

学习目标:学习 Python 编程语言,掌握其中的常用语法,从调用程序 API 开始,到算法和数据结构的学习,结合生活中的实际应用场景,搭建真实环境下的各类典型应用。

学习语言:Python

学习产出:36 个主题项目,完成语音合成、人脸识别等应用。

Python 安装教程_超级小的大西瓜的博客-CSDN博客

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。

2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

积跬步至千里--python语法 - 知乎

anaconda之前就已经装好,省去了很多时间,之前还看过廖旭峰的python语法,所以此次又手动打了一遍代码,编程确实是一门实践的科学,勤动手勤练习是最靠谱的方法,不多说了,将自己的语法代码发出,并附上自己对每个知识点的总结。

#定义字符串

nameStr

=

'李健'

commentStr

=

'很酷'

print

(

nameStr

+

commentStr

)

李健很酷

#案例2:用%s格式化字符串

str1

=

'

%s

%s

毕业的!'

%

(

'李健'

,

'清华'

)

print

(

str1

)

李健是清华毕业的!

字符串的联结用加号进行联结,%s是格式化字符串的标志。

a

=

5

b

=

3.5

print

(

a

+

b

)

print

(

a

*

a

)

8.5

25

数值的加减乘除运算。

#列表(List)

nameList

=

[

'小红果'

,

'西瓜'

,

'西红柿'

,

'桃子'

]

nameList

[

'小红果'

,

'西瓜'

,

'西红柿'

,

'桃子'

]

#查询列表长度

print

(

len

(

nameList

))

4

#1)列表增加元素:

nameList

.

append

(

'苹果'

)

print

(

'增加1个元素:'

,

nameList

)

增加

1

个元素:

[

'小红果'

,

'西瓜'

,

'西红柿'

,

'桃子'

,

'苹果'

]

#2)列表删除元素:删除

del

nameList

[

0

]

print

(

'删除第2个元素:'

,

nameList

)

删除第

2

个元素:

[

'西瓜'

,

'西红柿'

,

'桃子'

,

'苹果'

]

#3)容器操作:查询:使用下标索引来访问列表中的值,下标从0开始

name1

=

nameList

[

0

]

print

(

'查询列表的第1个元素:'

,

name1

)

查询列表的第

1

个元素:

西瓜

#4)容器操作:修改:直接指定下标的值

print

(

'修改之前第1个元素是:'

,

nameList

[

0

])

nameList

[

0

]

=

'栗子'

print

(

'修改之后第1个元素是:'

,

nameList

[

0

])

修改之前第

1

个元素是:

西瓜

修改之后第

1

个元素是:

栗子

nameList

[

'栗子'

,

'西红柿'

,

'桃子'

,

'苹果'

]

列表的特征是中括号,索引从0开始,增加用append;

#集合

#定义集合:6家公司的股票

gafataSets

=

{

'腾讯'

,

'阿里巴巴'

,

'苹果'

,

'谷歌'

,

'Facebook'

,

'亚马逊'

,

'亚马逊'

}

print

(

gafataSets

)

{

'腾讯'

,

'亚马逊'

,

'苹果'

,

'谷歌'

,

'Facebook'

,

'阿里巴巴'

}

#1)容器操作:增加

#定义一个空的集合

stockSets

=

set

()

#使用update()增加元素

stockSets

.

update

([

'腾讯'

,

'阿里巴巴'

,

'京东'

])

print

(

stockSets

)

{

'腾讯'

,

'阿里巴巴'

,

'京东'

}

#2)容器操作:删除

stockSets

.

discard

(

'京东'

)

print

(

stockSets

)

{

'腾讯'

,

'阿里巴巴'

}

#3)容器操作:查找

txBool

=

'腾讯'

in

stockSets

print

(

txBool

)

True

#4)容器操作:修改

#第1步:先删除

stockSets

.

discard

(

'京东'

)

#第2步:再添加

stockSets

.

update

([

'京东'

])

print

(

stockSets

)

#字典(Dictionary),特征是key和value

student

=

{

'01'

:

'晓红'

,

'02'

:

'小明'

,

'03'

:

'小花'

,

'04'

:

'小航'

}

print

(

student

){

'腾讯'

,

'阿里巴巴'

,

'京东'

}

集合可以去除重复值,特征是大括号,更新值用update,删除值用discard;另外自己尝试了下集合无索引查询;

#字典(Dictionary),特征是key和valuestudent={'01':'晓红','02':'小明','03':'小花','04':'小航'}print(student){'01': '晓红', '02': '小明', '03': '小花', '04': '小航'}#字典:value值是一个列表student2={'01':['晓红',29,'1型糖尿病','较差'], '02':['小明',34,'2型糖尿病','好转'], '03':['小花',28,'1型糖尿病','显著好转'], '04':['小航',52,'2型糖尿病','好转']}#1)字典:增加student2['05']=['小王',30,'1型糖尿病','好转']print(student2){'01': ['晓红', 29, '1型糖尿病', '较差'], '02': ['小明', 34, '2型糖尿病', '好转'], '03': ['小花', 28, '1型糖尿病', '显著好转'], '04': ['小航', 52, '2型糖尿病', '好转'], '05': ['小王', 30, '1型糖尿病', '好转']}#2)字典:删除del student2['05']#3)字典:根据key值查询value值valueList1=student2['01']print(valueList1)['晓红', 29, '1型糖尿病', '较差']#4)字典:修改print('修改之前,学生信息:',student2['01'])student2['01']=['晓新', 45, '1型糖尿病', '较差']print('修改之后,学生信息:',student2['01'])修改之前,学生信息: ['晓红', 29, '1型糖尿病', '较差']修改之后,学生信息: ['晓新', 45, '1型糖尿病', '较差']

字典的key和value值是对应的,key不能重复,可以根据key值对value值进行查询;

#数值型的条件判断

a

=

2

if

a

>=

8

:

print

(

'我要去看这部电影'

)

else

:

print

(

'电影太烂,不去看了'

)

电影太烂,不去看了

#多条件判断

score

=

int

(

input

(

'请输入学生的考试分数:'

))

if

0

4

print

(

sloganStr

)

NameError

:

name

'sloganStr'

is

not

defined

函数的定义和作用域的问题;

#引入pandas模块

import

pandas

as

pd

#文件路径(在本地运行时替换成你自己的实际数据路径)

filenameStr

=

'D:\病历数据.xlsx'

xl

=

pd

.

ExcelFile

(

filenameStr

)

patientDf

=

xl

.

parse

(

'Sheet1'

)

print

(

patientDf

)

病人编号

姓名

年龄

糖尿病类型

病情

0

1

猴子

29

1

型糖尿病

较差

1

2

马云

34

2

型糖尿病

好转

2

3

王健林

28

1

型糖尿病

显著好转

3

4

马化腾

52

2

型糖尿病

较差

pandas包的导以及如何导入Excel。

#数据结构之队列queue

from

collections

import

deque

queue

=

deque

([

'001'

,

'002'

,

'003'

,

'04'

,

'005'

])

queue

.

append

(

'006'

)

print

(

queue

)

queue

.

popleft

()

print

(

queue

)

deque

([

'001'

,

'002'

,

'003'

,

'04'

,

'005'

,

'006'

])

deque

([

'002'

,

'003'

,

'04'

,

'005'

,

'006'

])

#数据结构之栈

stack

=

deque

([

'知乎动态'

,

'知乎回答'

,

'知乎文章'

])

print

(

stack

)

stack

.

append

(

'知乎专栏'

)

print

(

stack

)

stack

.

pop

()

print

(

stack

)

deque

([

'知乎动态'

,

'知乎回答'

,

'知乎文章'

])

deque

([

'知乎动态'

,

'知乎回答'

,

'知乎文章'

,

'知乎专栏'

])

deque

([

'知乎动态'

,

'知乎回答'

,

'知乎文章'

])

#数据结构之排序字典

from

collections

import

OrderedDict

gafataOdDict

=

OrderedDict

({

'谷歌'

:

'GOOG'

,

'亚马逊'

:

'AMZN'

,

'Facebook'

:

'FB'

,

'苹果'

:

'AAPL'

,

'阿里巴巴'

:

'BABA'

,

'腾讯'

:

'0700'

})

print

(

gafataOdDict

)

OrderedDict

([(

'谷歌'

,

'GOOG'

),

(

'亚马逊'

,

'AMZN'

),

(

'Facebook'

,

'FB'

),

(

'苹果'

,

'AAPL'

),

(

'阿里巴巴'

,

'BABA'

),

(

'腾讯'

,

'0700'

)])

#计数器

from

collections

import

Counter

cDict

=

Counter

(

'有一种鸟是永远也关不住的,因为他们的羽毛太光亮了。羽毛太光亮。羽毛太光亮'

)

cDict

[

'羽'

]

cDict

.

most_common

(

3

)

[(

'羽'

,

3

),

(

'毛'

,

3

),

(

'太'

,

3

)]

三种数据结构以及计数器的使用;

总的来说,通过以上学习,对python的基本语法有了初步的掌握,以后会查缺补漏。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3