python字符串操作

python基础--字符串操作

倖福魔咒の 提交于 2019-12-10 15:57:24
经过大半年时间断断续续的学习python,到现在也能写出来一些小工具。但是在昨天看一个大神的代码我突然间认识到,基础不牢地动山摇,所以重头学习一遍python基础。 注:一下所有操作均在python3环境下 什么是python字符串: 字符串(String),是由数字、字母、下划线组成的一串字符; python字符串特性: 1、属于python基本数据类型和结构的一种; 2、本身是不可变的数据类型; 3、有很多内置的方法; 重点先说,python字符串的拼接: 我个人感觉容易让新手困扰的就是string的拼接,不知道什么时候应该使用字符串的拼接,在不该用字符串拼接的地方使用了字符串拼接造成了极大的内存消耗; 如下: 现在又一个有元素的list,和一个空的字符串s,现在我想读取list_a中的元素写入字符串s中,可以使用for循环+写入,最后s='abcde',但是有一个问题就是,每次向s中添加一个字符都是重新开辟了一个内存空间地址赋值给s 现在只有5个元素如果有100个、100W个就非常非常的消耗内存了。所以业界有一个万恶的‘+’这个说法 list_a=['a','b','c','d','e']s=''for i in list_a: s = s + iprint(s) 那我们应该用什么方法来进行字符串的拼接呢?join 使用指定分割符号拼接字符集如不指定就不分割。 list_a=

数据类型及内置方法

人走茶凉 提交于 2019-12-10 04:07:14
数据类型及内置方法 一、数字类型 1.int整型 (不可变类型,一个值) print(int(3.1)) # res=int('1111111') # print(res,type(res)) 整型可接收纯数字组成的字符串、浮点型或者是阿拉伯数字 在python中十进制转换为二进制 bin(x) 转换为八进制 oct(x) 转换为16进制 hex(x) 2.float浮点型 (不可变类型,一个值) 同int # res=float('111111.1') # print(res,type(res)) 二、str 字符串类型 (有序、不可变类型) 类型转换:任意类型数据都可以转换成字符串类型 需精通的常用操作+内置方法: 按索引取值(正向取+反向取):只能取出,不能输入 # res=float('111111.1') # print(res,type(res)) 2.切片(顾头不顾尾,步长) msg='hello world' print(msg[0:5:2]) # 0表示起始字符位置,5表示终止字符位置,2表示间隔长度 print(msg[0:5])#没有步长就按顺序输出 print(msg[::-1])#步长为负数从后往前,反转字符串的方法 print(msg[0:]) print(msg[-1:-6:-1]) #若想从后往前取,必须起止位置与步长一致 print(msg[:])

力扣练习——无重复字符的最长子串

怎甘沉沦 提交于 2019-12-09 15:45:29
力扣练习——无重复字符的最长子串 问题描述 思路和提示 个人思路 官方题解 方法一:暴力法 方法二:滑动窗口 代码及结果 代码 结果 滑动窗口代码 1.直观的滑动窗口法 2.滑动窗口优化 ( 双指针法 ) 3.滑动窗口优化(使用Hash) 总结 一些概念 1.python中二进制十进制转变 2.python中 ==^== 的功能 3.hash map 问题描述 给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度。 示例 1: 输入: “abcabcbb” 输出: 3 解释: 因为无重复字符的最长子串是 “abc”,所以其长度为 3。 示例 2: 输入: “bbbbb” 输出: 1 解释: 因为无重复字符的最长子串是 “b”,所以其长度为 1。 示例 3: 输入: “pwwkew” 输出: 3 解释: 因为无重复字符的最长子串是 “wke”,所以其长度为 3。 请注意,你的答案必须是 子串 的长度,“pwke” 是一个子序列,不是子串。 来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/longest-substring-without-repeating-characters 著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。 思路和提示 个人思路 这个问题很自然的想到的列表的方法

python浓缩(2)Python起步

旧时模样 提交于 2019-12-09 14:20:49
本章对Python 的主要特性做一个快速介绍。 在所有的交互示例中,你会看到Python 的主提示符( >>> )和次提示符( ... )。主提示符是解释器告诉你它在等待你输入下一个语句,次提示符告诉你解释器正在等待你输入当前语句的其它部分。 语句和表达式(函数、算术表达式等): 语句使用关键字来组成命令,类似告诉解释器一个命令; 表达式没有关键字。它们可以是使用数学运算符构成的算术表达式,也可以是使用括号调用的函数; 2.1 程序输出,print 语句及“Hello World!” 在交互式解释器中,可以用 print 语句显示变量的字符串表示,或者仅使用变量名查看该变量的原始值。 2.2 程序输入和raw_input()内建函数 下划线(_)在解释器中有特别的含义, 表示最后一个表达式的值 。 Python 的print 语句,与字符串格式运算符( % )结合使用,可实现字符串替换功能。 %s 表示由一个字符串来替换;%d 表示由一个整数来替换;%f表示由一个浮点数来替换; Print 语句也支持将输出重定向到文件。符号 >> 用来重定向输出,下面这个例子将输出重定向到标准错误输出: import sys print >> sys.stderr, 'Fatal error: invalid input!' import sys print >> sys.stderr,

python 字符串常用操作方法

青春壹個敷衍的年華 提交于 2019-12-09 11:48:15
python 字符串常用操作方法 python 字符串操作常用操作,如字符串的替换、删除、截取、赋值、连接、比较、查找、分割等 1、去除空格 str.strip():删除字符串两边的指定字符,括号的写入指定字符,默认为空格 1 a=' hello ' 2 b=a.strip() 3 print(b) 输出:hello str.lstrip():删除字符串左边的指定字符,括号的写入指定字符,默认空格 1 >>> a=' hello ' 2 >>> b=a.lstrip() 3 >>> print(b) 4 hello #右边空格可能看的不是很明显 str.rstrip():删除字符串右边的指定字符,括号的写入指定字符,默认空格 1 >>> a=' hello ' 2 >>> b=a.rstrip() 3 >>> print(b) 4 hello 2、复制字符串 1 >>> a='hello world' 2 >>> b=a 3 >>> print(a,b) 4 hello world hello world 3、连接字符串 1 +:连接2个字符串 2 >>> a='hello ' 3 >>> b='world' 4 >>> print(a+b) 5 hello world 6 注:此方法又称为 "万恶的加号",因为使用加号连接2个字符串会调用静态函数string_concat

python写json文件

荒凉一梦 提交于 2019-12-08 10:57:20
'''用json包,一行一行写入''' list = {} with open("result.json", "w") as f: list['image_id']='1.jpg' list['disease_class']=int(str) json.dump(new_dict, f) f.close() dumps: 把python对象转换成json字符串 dump: 对文件的操作 loads: 将已编码的 JSON 字符串解码为 Python 对象 load : 对文件的操作 来源: CSDN 作者: tony2278 链接: https://blog.csdn.net/tony2278/article/details/82987086

Python学习一基础数据类型及赋值操作

核能气质少年 提交于 2019-12-07 21:05:53
一、变量赋值 单个变理赋值 参数名称 = 变量值如下 #!/usr/bin/python # -*- coding: UTF-8 -*- counter = 100 # 赋值整型变量 miles = 1000.0 # 浮点型 name = "John" # 字符串 print counter print miles print name 二、多外变量赋值 1.给多个变量赋同一个值 参数名 = 参数名 = 参数名。。。=参数值如下 #!/usr/bin/python # -*- coding: UTF-8 -*- a = b = c = 1 print a print b print c 2.给多个变量赋不同的值 参数名,参数名,参数名 = 参数值,参数值,参数值 #!/usr/bin/python # -*- coding: UTF-8 -*- a , b, c = 1,2,3 print a print b print c 三、标准数据类型 1、数字类型 Python支持四种不同的数字类型: int(有符号整型) long(长整型[也可以代表八进制和十六进制]) float(浮点型) complex(复数) 2、字符串 字符串或串(String)是由数字、字母、下划线组成的一串字串,一些简单的操作如下 #!/usr/bin/python # -*- coding: UTF-8 -

字符串操作-Python

我与影子孤独终老i 提交于 2019-12-06 14:28:41
字符串操作示例 去空格及特殊符号 s.strip().lstrip().rstrip(',') 复制字符串 #strcpy(sStr1,sStr2) sStr1 = 'strcpy' sStr2 = sStr1 sStr1 = 'strcpy2' print sStr2 连接字符串 #strcat(sStr1,sStr2) sStr1 = 'strcat' sStr2 = 'append' sStr1 += sStr2 print sStr1 查找字符 #strchr(sStr1,sStr2) # < 0 为未找到 sStr1 = 'strchr' sStr2 = 's' nPos = sStr1.index(sStr2) print nPos 比较字符串 #strcmp(sStr1,sStr2) sStr1 = 'strchr' sStr2 = 'strch' print cmp(sStr1,sStr2) 扫描字符串是否包含指定的字符 #strspn(sStr1,sStr2) sStr1 = '12345678' sStr2 = '456' #sStr1 and chars both in sStr1 and sStr2 print len(sStr1 and sStr2) 字符串长度 #strlen(sStr1) sStr1 = 'strlen' print len(sStr1

python之正则表达式【re】

寵の児 提交于 2019-12-06 14:14:45
  在处理字符串时,经常会有查找符合某些规则的字符串的需求。正则表达式就是用于藐视这些规则的工具。换句话说,正则表达式是记录文本规则的代码。 1、行定位符。   行定位符就是用来表示字符串的边界,“^”表示开始,“$”表示行的结尾。例 ^sjc sjc$   ^jsc表示匹配以 sjc开始的字符串,sjc$匹配以htm结尾的字符串,如果想2个都匹配的话直接 输入jsc即可。 2、元字符   正则表达式还右很多元字符,例如下面的正则表达式中应用了"\b"和“\w”。 \bmr\w*\b   上面的正则表达式用于匹配字母mr开头的单词,先从某个单词的开始出(\b),然后匹配字母mr,接着是匹配任意数字的字母或者数字(\w*),最后单词结尾处(\b).表达式可以匹配 mrsoft,mr124,等,但是不能匹配cbmr。常用的元字符表如下所示。 代码 说明 举例 . 匹配除了换行符以外的任意字符 .可以匹配\mr\nM\tR中的m、r、M、\t、R \w 匹配字母、数字、下划线或者汉字 \w可以匹配"m中7r\n"中的“m、中、7、r”,但是不能匹配\n \W 匹配除了字母、数字、下划线或者汉字以外的字符 \W可以匹配“\n,但是不能匹配“m,中,7,r” \s 匹配单个的空白字符(包含tab键和换行符) 可以匹配mr\tMR中的\t \S 除了空白符以外的所有字符 可以匹配mr

Python数据类型

◇◆丶佛笑我妖孽 提交于 2019-12-06 13:40:53
计算机程序,就是对数据进行操作。无论那种语言开发,都需要具体的数据类型,每种开发语言都有自己不同数据类型。python语言的全部数据类型(Python中可以自定义数据类型,可以具有无限种数据类型)系统默认提供6个标准数据类型: 1.Number类型:数值类型 Number类型一共分为四个小类别:整型,浮点型,布尔型,复数 (1)Int 整形 整形就是整数类型,声明整形有四种方式: 十进制:0~9 变量 = 十进制数字 二进制:0~1 变量 = 0b二进制数字(0b是二进制的标志符号) 八进制:0~7 变量 = 0o八进制数字(0o是八进制的标志符号) 十六进制:0~9A~F 变量 = 0x十六进制数字(0x是十六进制的标志符号) (2)Float 浮点型 浮点型就是小数类型,声明浮点型方式: 小数方式: 变量 = 3.1415926 (3)Bool 布尔类型 布尔类型是计算机专用的数据类型,只有2个值:True和False True 表示肯定的答案 有,是,好的,没错,真的... False 表示否定的答案 没有,不是,错,假的... (4)Complex 复数类型 复数的完整结构(实数部分+虚数部分) 声明复数的两种方式: 表达式方式: 变量 = 实数 + 虚数 如:var = 3 + 2j 特定功能: 变量 = complex(实数,虚数值) 如:var = complex(5