python字符串

python random模块

北城余情 提交于 2019-12-03 04:41:58
import random print(random.random()) # 0< x <1 的浮点数 print(random.uniform(1,5)) # 1<x <5 的浮点数 print(random.randint(1,2)) # 1<= x < =2 的整数 print('jiii',random.randrange(1,10,2)) # 1<= x < 10 并且是奇数 print(random.choice('sdkf')) # 从列表中随机选择,参数可以为列表、元组等(这里是从字符串中随机选择) print(random.sample('sdkf',2)) # 从列表、元组、字符串中随机选取多个 x = [1,2,3,4,5] random.shuffle(x) # 打乱list顺序 print(x) 来源: https://www.cnblogs.com/wztshine/p/11778060.html

python截取字符串

我的梦境 提交于 2019-12-03 02:28:24
str = ‘0123456789’ print str[0:3] #截取第一位到第三位的字符 print str[:] #截取字符串的全部字符 print str[6:] #截取第七个字符到结尾 print str[:-3] #截取从头开始到倒数第三个字符之前 print str[2] #截取第三个字符 print str[-1] #截取倒数第一个字符 print str[::-1] #创造一个与原字符串顺序相反的字符串 print str[-3:-1] #截取倒数第三位与倒数第一位之前的字符 print str[-3:] #截取倒数第三位到结尾 print str[:-5:-3] #逆序截取   结果: 012 0123456789 6789 0123456 2 9 9876543210 78 789 96    来源: https://www.cnblogs.com/gentlemanhai/p/11771684.html

第3次作业-MOOC学习笔记:Python网络爬虫与信息提取

烂漫一生 提交于 2019-12-03 02:20:35
1.注册中国大学MOOC 2.选择北京理工大学嵩天老师的《Python网络爬虫与信息提取》MOOC课 3.学习完成第0周至第4周的课程内容,并完成各周作业 4.提供图片或网站显示的学习进度,证明学习的过程。 5.写一篇不少于1000字的学习笔记,谈一下学习的体会和收获。 学习笔记:这门课程介绍Python计算生态中最优秀的网络数据爬取和解析技术,具体讲授构建网络爬虫功能的两条重要技术路线:requests-bs4-re和Scrapy,课程内容是进入大数据处理、数据挖掘、以数据为中心人工智能领域的必备实践基础。教学内容包括:Python第三方库Requests,讲解通过HTTP/HTTPS协议自动从互联网获取数据并向其提交请求的方法;Python第三方库Beautiful Soup,讲解从所爬取HTML页面中解析完整Web信息的方法;Python标准库Re,讲解从所爬取HTML页面中提取关键信息的方法;python第三方库Scrapy,介绍通过网络爬虫框架构造专业网络爬虫的基本方法。 第一周学习的是Requests,使用命令管理器安装,使用IDLE检测是否安装成功,状态码为200,便是安装成功。老师讲了Requests的七个主要方法,分别是:requests.requests()、requests.get() 、requests.head()、requests.post()

关于腾讯的一道字符串匹配的面试题

徘徊边缘 提交于 2019-12-03 02:17:36
Question: 假设两个字符串中所含有的字符和个数都相同我们就叫这两个字符串匹配, 比如:abcda和adabc,由于出现的字符个数都是相同,只是顺序不同, 所以这两个字符串是匹配的。要求高效! Answer: 假定字符串中都是ASCII字符。如下用一个数组来计数,前者加,后者减,全部为0则匹配。 static bool IsMatch(string s1, string s2) { if (s1 == null && s2 == null) return true; if (s1 == null || s2 == null) return false; if (s1.Length != s2.Length) return false; int[] check = new int[128]; foreach (char c in s1) { check[(int)c]++; } foreach (char c in s2) { check[(int)c]--; } foreach (int i in check) { if (i != 0) return false; } return true; } 如果使用python的话,就更简单了: >>> sorted('abcda') == sorted('adabc') True 复制代码 Geek的玩法很多

python的语法元素分析1

自古美人都是妖i 提交于 2019-12-03 01:52:39
1.程序的格式框架 ·缩进:一行代码开始前的空白区域,是程序的格式框架 ·缩进是语法的一部分,缩进不正确的时候程序会报错 ·缩进表明代码之间包含层次关系,缩进长度要一致。(一般是4个空格或者1个Tab键) ·缩进包括单层缩进,双层缩进(缩进中的缩进,就像循环中再来一个循环一样) ·注释: #-----单行注释 ''' '''---多行注释 2.命名与保留字 ·变量的组成:字母,下划线,数字,汉字; 变量的约束(命名规则): 不以数字开头,注意大小写,命名有相应的含义,不与保留字相同。 · 保留字:python语法中有固定用法的词组如,and as import if elif else之类的 ·保留字后的冒号也是语法一部分,注意不要遗漏掉哦 3.数据类型 (1)数字类型: ·int 整型 ----pow(x,y) 函数;计算x ·4种进制的表达:十进制,二进制(以ob/oB开头),八进制(Oo · float double 精确度,控制输出结果精确度方法: //浮点数之间运算存在不确定尾数,不是bug 如:判断0.1+0 ·round()函数四舍五入; ·格式化{:.2f}控制输出结果小数点后两位;//做不到精确度,只能保留几位小数 ·小数--->int型--->float型 ,即小数转成整数类型,再转成浮点类型 ·小数精确函数(大概17位) ·复数 (complex)

Key没有引号的K-V格式字符串,怎么转换成Json/dict

匿名 (未验证) 提交于 2019-12-03 00:13:02
Key没有引号的K-V格式字符串,怎么转换成Json/dict 获取到了一个列表,格式类似列表套字典格式,但仔细观察,发现是列表套字符串,字符串中才是字典,而且,字典还是残缺的字典,有Key,有Value,但是Key没有引号,而且,还有一大推空字符:描述太费劲了,上图吧: import json for i in l: json.loads(i) # 报错: json.decoder.JSONDecodeError: Expecting property name enclosed in double quotes: line 2 column 29 (char 30) Python 那么多库,不可能没有处理这个格式的方法,果然:demjson 完美解决这个问题: 上代码: import demjson for i in l: dic = demjson.decode(i) print(dic) 结果: 参考: https://www.cnblogs.com/yuanyongqiang/p/11617898.html 获取到了一个列表,格式类似列表套字典格式,但仔细观察,发现是列表套字符串,字符串中才是字典,而且,字典还是残缺的字典,有Key,有Value,但是Key没有引号,而且,还有一大推空字符:描述太费劲了,上图吧: import json for i in l: json

第3次作业-MOOC学习笔记:Python网络爬虫与信息提取

99封情书 提交于 2019-12-02 23:51:36
1.注册中国大学MOOC 2.选择北京理工大学嵩天老师的《Python网络爬虫与信息提取》MOOC课程 3.学习完成第0周至第4周的课程内容,并完成各周作业 4.提供图片或网站显示的学习进度,证明学习的过程。 5.写一篇不少于1000字的学习笔记,谈一下学习的体会和收获。 经过了几天的学习,对《Python网络爬虫与信息提取》这课程进行回顾,和整理。 第一周,学习了Requests库的安装,Requests库的主要方法及对象和属性。列如: 1.requests.request():构造一个请求 2.requests.get():获取html网页 3.request.head():获取html网页头信息 4.request.post():向html网页提交post请求 5.request.put():向html网页提交put请求 6.request.patch():向html网页提交局部修改请求 7.request.delete():向html提交删除请求 HTTP协议对资源的操作。列如: 1.GET:请求获取URL位置的资源 2.HEAD:请求获取URL位置资源的响应消息报告 3.POST:请求向URL位置的资源后附加新的数据 4.PUT:请求向URL位置存储一个资源,覆盖原URL位置的资源 5.PATCH:请求局部更新URL位置的资源,覆盖原URL位置的资源 6.DELETE

字符串(String)

匿名 (未验证) 提交于 2019-12-02 23:49:02
1   'Hello, world!' 2.python在打印字符串时,用单引号将其括起和用双引号括起没有任何区别。既然如此,为何同时支持单引号和双引号呢?因为在有些情况下,这可能会有用。     >>> '"Hello, world!" she said'   '"Hello, world!" she said'   在上述代码中,第一个字符串包含一个单引号(就这里而言,可能称之为撇号更合适),因此不能用单引号将整个字符串括起,否则解释器将报错(做出这样的反应是正确的)。  >>> 'Let's go!'  SyntaxError: invalid syntax   在这里,字符串为'Let',因此Python不知道如何处理后面的s(更准确地说是当前行余下的内容)。  第二个字符串包含双引号,因此必须使用单引号将整个字符串括起,原因和前面一样。实际上,并非必须这样做(这样做只是出于方便考虑)。可使用反斜杠(\)对引号进行转义,如下所示:    >>> 'Let\'s go!'   "Let's go!"    >>> "\"Hello, world!\" she said"   '"Hello, world!" she said'  像这样对引号进行转义很有用,且在有些情况下必须这样做。例如,在字符串同时包含单引号和双引号(如'Let\'s say "Hello, world!"

常用模块升级

匿名 (未验证) 提交于 2019-12-02 23:49:02
  一、collection 模块   二、time 模块   三、random 模块   四、os 和sys mo模块   五、系列化与反序列化 json 模块   六、subprocess 模块   一、collection 模块     # 1.可以表示坐标二维和三维 # from collections import namedtuple # # point = namedtuple('坐标',['x','y','z']) # 第一个为字段名 第二个参数为可以迭代对象 # # p = point(1,2,4) # print(p) # 坐标(x=1, y=2, z=4) # 2.洗牌 # from collections import namedtuple # t = namedtuple('扑克牌',' color num') # t1 = t('黑桃','A') # print(t1.color) # print(t1.num) # l = [90,1,2,9,4,5,8,23,42,5,6] # import random # random.shuffle(l) # print(l) # # # 对应的人物 # r = namedtuple('日本','name person size') # r1 = r('东京','宫崎骏','m') # print(r1) #

PY数据类型(一)

匿名 (未验证) 提交于 2019-12-02 23:47:01
一、数据类型: 数字 布尔值 字符串 元祖 列表 字典 集合 二、数字: 整数、浮点数 age = 19 怎么判断类型呢? 可以利用type()这个函数 什么时候用整型,什么时候用浮点型 根据是否有小数 二、布尔值 布尔值首字母要大写 布尔值用来干啥:根据条件判断/循环结合使用 三、字符串 字符串定义:成对的单引号或双引号、三引号组成 关键字为str 三个不同引号之间的区别,单引号只能嵌套双引号,双引号只能嵌套单引号,三引号都能嵌套 """ sfddsf dsfsdf """ 三引号可以多行注释 空字符串 s="" s='' 字符串拼接 分别输出 print(str,str) 特殊字符处理 \n \t \r print("") 四、字符串取值 每一个字符串都会有一个索引,从0开始,下标==索引 s='python' print(s[0]) print(s[-6]) 字符串的增删改查