python字符串

关于python中strip方法的理解

懵懂的女人 提交于 2020-03-15 13:54:16
1.strip方法并不是去除对称字符串的。 比如 a="123abcd321" a.strip()方法的结果是abcd 有人可能就把strip方法理解成了“ 可以去除字符串两端对称字符 ”的一种方法。 这么理解是错误的。 2.strip方法既可以去除字符串左侧的字符也可以去除字符串右侧的字符,也可以两端同时去除。 a="123abcd" a.strip(“123”)的结果是abcd b="abcd123" b.strip("123")的结果是abcd strip方法的结果其实是先执行lstrip方法再执行rstrip方法,为了语义清楚,你如果要去除字符串右侧的字符,最好用rstip,左侧的就用lstrip 3.strip方法 并不是匹配子串来删除字符串的 如果是匹配子串的,那么就无法解释下面的结果 a="123abcd" a.strip("1234")的结果是abcd 4.strip方法真正的执行流程是这样的:把strip中的参数拆分成一个个的字符,先执行lstrip方法,从字符串的左侧找起,如果有字符是strip参数中的任意一个字符,那么就从字符串中删除掉这个字符直到找到一个字符,这个字符不属于strip参数中的任意一个字符。再执行strip方法,从字符串的右侧找起,如果有字符是strip参数中的任意一个字符,那么就从字符串中删除掉这个字符直到找到一个字符

python之字符串格式化

梦想与她 提交于 2020-03-15 10:23:27
字符串格式化目前有两种方式:一、“%”方式;二、format方式; 一、“%”方式 1、%传值:%s:可以接收任何值; %d:接收数字; 1 msg = 'my name is %s ' %'zhangsan' #str类型 2 msg1 = 'he is %s' %20 #he is 20 int类型 3 msg2 = 'she likes %s' %['apple','orange','pai'] #she likes ['apple', 'orange', 'pai'] 4 #在下面的字符串格式化中,使用元组数据类型进行格式化出现下列报错:不是所有的参数都能够被转换 5 # msg3 = 'she likes %s' %('apple','orange','pai') #TypeError: not all arguments converted during string formatting 6 msg4 = 'her information : %s' %{'name':'shangxia','age':19,'hobby':'reading'} 7 print(msg) 8 print(msg1) 9 print(msg2) 10 # print(msg3) 11 print(msg4) 12 baobiao = '销售收入为:%d' %1000.783341505

Python学习4--变量与字符串

[亡魂溺海] 提交于 2020-03-12 10:36:40
变量 变量命名规则与c相同。 可不声明变量,需要变量时直接赋值,所有变量必须第一时间赋值,变量类型由赋值类型确定。 变量名区分大小写。 字符串 字符串是一对引号内的一切东西,单引号双引号都可以。 在字符串内打印引号: 在字符串内打印反斜杠\: 打印长字符串: 来源: CSDN 作者: 21世纪高等学校规划教材 链接: https://blog.csdn.net/weixin_41441169/article/details/104775096

python随堂练

岁酱吖の 提交于 2020-03-11 18:03:33
最后一个单词 题目内容:计算字符串最后一个单词的长度,单词以空格隔开。 可以使用以下语句实现字符串s的输入: 输入格式: s = str ( inpput ( ) ) 一行字符串,非空,长度小于5000。 输出格式: 整数N,最后一个单词的长度。 输入样例: hello world 输出样例: 5 时间限制:500ms内存限制:32000kb 思路 python输入的字符串中每个单词的前后可能会存在多个空格。 本题主要 通过 从后往前找 单词的方法,考虑以下几种情况   1)如果找到非空格的字符,flag标记为1,用k(初始值为0)统计单词的长度   2)如果找到的是空格字符,且flag 为 0,则continue跳出此次循环,继续查找   3)如果找到的是空格字符,且flag为1,则break结束整个循环。此时k的数值就是最后一个单词的长度。 关于python中循环语句的了解,请点击链接, python循环语句的用法 解题代码 s = str ( input ( ) ) #输入字符串 n = len ( s ) #测量字符串长度 k = 0 #统计最后一个单词的长度 flag = 0 #用于标记是否是最后一个单词(不包含空格) for i in range ( n - 1 , 0 , - 1 ) : if ( flag and s [ i ] == ' ' ) :

21. re模块

时光毁灭记忆、已成空白 提交于 2020-03-10 19:30:47
一、正则 1. 字符 元字符 匹配内容 . 匹配出换行外任意字符 \w 匹配字母或数字或下划线 \s 匹配任意空白符 \d 匹配数字 \n 匹配一个换行符 \t 匹配一个制表符 \b 匹配一个单词的结尾 ^ 匹配指定字符的开始 $ 匹配字符串的结尾 \W 匹配非字母数字下划线 \D 匹配非数字 \S 匹配非空白符 a | b 匹配字符a或字符b () 匹配括号内的表达式,也是一个组 [...] 匹配字符组中的字符 [^...] 匹配除了字符组中的字符其他所有字符 2. 量词 量词 匹配内容 * 重复0或更多次 + 重复1或更多次 ? 重复0或1次 {n} 重复n次 {n, } 重复n或更多次 {n, m} 重复n到m次 3. 运用 import re string_test = "hello" (1) . string_1 = re.findall('.', string_test) print(string_1) >['h', 'e', 'l', 'l', 'o'] (2) ^ string_2 = re.findall('^h', string_test) print(string_2) >['h'] (3) $ string_3 = re.findall('o$', string_test) print(string_3) >['o'] (4) * - 当匹配单个字符的时候

Python 字符串切片

不想你离开。 提交于 2020-03-09 22:02:24
#-*- coding:utf-8 -*- #字符串切片 names = "abcdefgh" ''' 切片语法 names[起始位置:终止位置:步长] 起始位置:即字符串的下标,可以是正序下标(0,1,2...),也可以是逆序下标(-1,-2,-3...) 终止位置:也是字符串的下标,但是和起始位置下标不同的是终止位置下标指向的元素并不会被包含在内 步长:默认值是1,当步长>0,表示从左向右遍历,当步长<0,表示从右向左遍历 起始位置或者终止位置的值缺省,那么会根据步长的正负决定遍历的方向 ''' print(names[2:5]) #打印cde 不包含names[5]的值 print(names[2:6]) #打印cdef #从e开始截取到字符串末尾 print(names[4:]) #打印efgh #从e开始截取到倒数第二个字符 print(names[4:-1]) #间隔着打印字符串 print(names[::2]) #打印aceg #逆序打印字符串 print(names[::-1]) 来源: https://www.cnblogs.com/zhanggaofeng/p/9222595.html

Python字符串切片

不羁岁月 提交于 2020-03-09 22:02:13
1.字符串切片:从字符串中取出相应的元素,重新组成一个新的字符串 语法: 字符串[ 开始元素下标 : 结束元素下标 : 步长 ] # 字符串的每个元素都有正负两种下标 步长:切片间隔以及切片方向,默认值是 1;实际意义为从开始取一个数据,跳过步长的长度,再取一个数据,一直到结束索引 步长为正值: 开始索引默认为0, 结束索引默认为最后是len()+1,从开始索引从左往右走;步长为负值, 开始索引默认为-1, 结束索引默认为开始,不能认为是0,也不能认为是-1,从开始索引从右往左走;   例如:L=list(range(10))#L中的元素是0-9 案例一 :L[::1]的值 结果:[0,1,2,3,4,5,6,7,8,9] 这里开始下标=>0,结束下标=>9或者开始下标=>-10,结束下标=>-1 案例二:L[::-1]的值 结果:[9,8,7,6,5,4,3,2,1,0] 这里开始下标=>9,结束下标=>0或者开始下标=>-1,结束下标=>-10 案例三:L[-1:1]的值 结果:[] L[-1:1]翻译过来变为L[-1:1:1],由于最后一个元素后面找不到坐标为1的,故返回为空 案例四:L[-1:1:-1]的值 结果:[9,8,7,6,5,4,3,2]    来源: https://www.cnblogs.com/yfacesclub/p/10298061.html

python 字符串 切片

心已入冬 提交于 2020-03-09 22:01:36
####################概念######################''' int 整数 str 字符串 一般不存放大量的数据 bool 布尔值,用来判断。 True,False list 列表。存放大量数据,[]表示,里面可以放各种数据类型 tuple 元祖,只读列表 ()表示 dict 字典。 {key:value} set 集合。 去重 ''' ''' 大小写转换:*——记住 * upper() 全大写 title() 首字母大写(只要是不属于英文字母的都是分隔符) 切来切去: center(10,'*') 强行用*在原字符串左右两端拼接,拼接成十个长度 * strip() 去除前后两边的空格 lstrip() rstrip() * replace(old,new) 替换 * split() 切割(切完的结果是一个列表里面装着字符串) 注意:贴边则是有空字符串 * startswith() endswith 以什么开头 都可以进行索引的操作 * count() 计算出现的次数 * find() 查找xxx在字符串中出现的位置索引,只找第一个,找不到返回-1 * index() 查找xxx在字符串中出现的位置索引,只找第一个,找不到报错 条件判断: .isalnum 字母数字 .isdigit 数字 .isalpha 字母 .isnumeric

python/pandas 正则表达式 re模块

风格不统一 提交于 2020-03-09 17:44:56
目录 正则解说 中文字符集 re模块常用方法 1、正则解说 数量词的贪婪模式与非贪婪模式   正则表达式通常用于在文本中查找匹配的字符串。Python里数量词默认是贪婪的(在少数语言里也可能是默认非贪婪),总是尝试匹配尽可能多的字符;非贪婪的则相反,总是尝试匹配尽可能少的字符。例如:正则表达式"ab*"如果用于查找"abbbc",将找到"abbb"。而如果使用非贪婪的数量词"ab*?",将找到"a"。 一般字符、字符集和转义字符 一般字符 完全匹配字符 abc abc \ 转义字符 \. . . 匹配除换行符\n以外的所有字符 . q, 1, +, ...... [] 匹配字符集中任意字符 [abc] a, b, c \s 匹配空白字符,即[\n\t\f\r...] a\sb a b, a b, ...... \S 匹配非空白字符 a\Sb ab, a4b, asb, ...... \w 匹配单词字符,即[a-zA-Z0-9] a\wc abc, a8c, ...... \W 匹配非单词字符,即[^a-zA-Z0-9] a\Wc a-c, a?c, ...... \d 匹配数字 a\dc a3c, ...... \D 匹配非数字 a\Dc adc, a-c, ...... 限定匹配次数 * 匹配前一个字符0到无限次 ab*c ac, abc, abbc, ...... +

python 字符串

别来无恙 提交于 2020-03-09 04:39:42
字符串 与字符串相关的问题总是很多,⽐如池化 (intern)、编码 (encode) 等。字符串是不可变类型,保 存字符序列或⼆进制数据。 • 短字符串存储在 arena 区域, str、unicode 单字符会被永久缓存。 • str 没有缓存机制,unicode 则保留 1024 个宽字符⻓度⼩于 9 的复⽤对象。 • 内部包含 hash 值,str 另有标记⽤来判断是否被池化。 字符串常量定义简单⾃由,可以是单引号、双引号或三引号。但我个⼈建议⽤双引号表⽰字符串, ⽤单引号表⽰字符,和其他语⾔习惯保持⼀致。 >>> "It's a book."! ! ! ! # 双引号⾥⾯可以⽤单引号。 "It's a book." >>> 'It\'s a book.'!! ! ! # 转义 "It's a book." >>> '{"name":"Tom"}'! ! ! # 单引号⾥⾯正常使⽤双引号。 '{"name":"Tom"}' >>> """! ! ! ! ! # 多⾏ 27 ... line 1 ... line 2 ... """ >>> r"abc\x"!! ! ! ! # r 前缀定义⾮转义的 raw-string。 'abc\\x' >>> "a" "b" "c"! ! ! ! # ⾃动合并多个相邻字符串。 'abc' >>> "中国⼈"! ! ! ! ! # UTF