四、字符串、列表
4.1字符串-string
可以使用单引号,双引号,三引号括起来 其中\与字符组成转义字符
word = '字符串'
sentence = "这是一个句子。"
paragraph = """这是一个段落,
可以由多行组成"""
str='hello world'
print(str) # 输出字符串
print(str[0:-1]) # 输出第一个到倒数第二个的所有字符
print(str[0]) # 输出字符串第一个字符
print(str[2:5]) # 输出从第三个开始到第五个的字符
print(str[2:]) # 输出从第三个开始后的所有字符
print(str * 2) # 输出字符串两次
print(str + '你好') # 连接字符串
print(str[:5]) # 输出第五个字母前的所有字符
print(str[0:7:2]) # [起始:终止:步长]
print('------------------------------')
print('hello\nworld') # 使用反斜杠(\)+n转义特殊字符
print(r'hello\npython') # 在字符串前面添加一个 r,表示原始字符串,不会发生转义
- capitalize() 将字符串的第一个字符转换为大写
- center(width, fillchar) 返回一个指定的宽度 width 居中的字符串,fillchar 为填充的字符,默认为空格。
- count(str, beg= 0,end=len(string)) 返回 str 在 string 里面出现的次数,如果 beg 或者 end指定则返回指定范围内 str 出现的次数
- bytes.decode(encoding=“utf-8”, errors=“strict”) Python3 中没有 decode 方法,但我们可以使用 bytes 对象的 decode() 方法来解码给定的 bytes 对象,这个 bytes 对象可以由str.encode() 来编码返回。
- encode(encoding=‘UTF-8’,errors=‘strict’) 以 encoding 指定的编码格式编码字符串,如果出错默认报一个ValueError 的异常,除非 errors 指定的是’ignore’或者’replace’
- endswith(suffix, beg=0, end=len(string)) 检查字符串是否以 obj 结束,如果beg 或者 end指定则检查指定的范围内是否以 obj 结束,如果是,返回 True,否则返回 False.
- expandtabs(tabsize=8) 把字符串 string 中的 tab 符号转为空格,tab 符号默认的空格数是8.
- find(str, beg=0, end=len(string)) 检测 str 是否包含在字符串中,如果指定范围 beg 和 end,则检查是否包含在指定范围内,如果包含返回开始的索引值,否则返回-1
- index(str, beg=0, end=len(string)) 跟find()方法一样,只不过如果str不在字符串中会报一个异常.
- isalnum() 如果字符串至少有一个字符并且所有字符都是字母或数字则返 回 True,否则返回False
- isalpha() 如果字符串至少有一个字符并且所有字符都是字母则返回 True, 否则返回 False
- isdigit() 如果字符串只包含数字则返回 True 否则返回 False…
- islower() 如果字符串中包含至少一个区分大小写的字符,并且所有这些(区分大小写的)字符都是小写,则返回 True,否则返回 False
- isnumeric() 如果字符串中只包含数字字符,则返回 True,否则返回 False
- isspace() 如果字符串中只包含空白,则返回 True,否则返回 False.
- stitle() 如果字符串是标题化的(见 title())则返回 True,否则返回 False
- isupper() 如果字符串中包含至少一个区分大小写的字符,并且所有这些(区分大小写的)字符都是大写,则返回 True,否则返回 False
- join(seq) 以指定字符串作为分隔符,将 seq 中所有的元素(的字符串表示)合并为一个新字符串
- len(string) 返回字符串长度
- [ljust(width, fillchar]) 返回一个原字符串左对齐,并使用 fillchar 填充至长度 width 的新字符串,fillchar 默认为空格。
- lower() 转换字符串中所有大写字符为小写.
- lstrip() 截掉字符串左边的空格或指定字符。
- maketrans() 创建字符映射的转换表,对于接受两个参数的最简单的调用方式,第一个参数是字符串,表示需要转换的字符,第二个参数也是字符串表示转换的目标。
- max(str) 返回字符串 str 中最大的字母。
- min(str) 返回字符串 str 中最小的字母。
- [replace(old, new , max]) 把 将字符串中的 str1 替换成 str2,如果 max 指定,则替换不超过 max 次。
- rfind(str, beg=0,end=len(string)) 类似于 find()函数,不过是从右边开始查找.
- rindex( str, beg=0, end=len(string)) 类似于 index(),不过是从右边开始.
- [rjust(width, fillchar]) 返回一个原字符串右对齐,并使用fillchar(默认空格)填充至长度width 的新字符串
- rstrip() 删除字符串字符串末尾的空格.
- split(str="", num=string.count(str)) num=string.count(str)) 以 str 为分隔符截取字符串,如果 num 有指定值,则仅截取 num+1 个子字符串
- [splitlines(keepends]) 按照行(’\r’, ‘\r\n’, \n’)分隔,返回一个包含各行作为元素的列表,如果参数 keepends 为 False,不包含换行符,如果为 True,则保留换行符。
- startswith(substr, beg=0,end=len(string)) 检查字符串是否是以指定子字符串 substr 开头,是则返回 True,否则返回 False。如果beg 和 end 指定值,则在指定范围内检查。
- [strip(chars]) 在字符串上执行 lstrip()和 rstrip()
- swapcase() 将字符串中大写转换为小写,小写转换为大写
- title() 返回"标题化"的字符串,就是说所有单词都是以大写开始,其余字母均为小写(见istitle())
- translate(table, deletechars="") 根据 str 给出的表(包含 256 个字符)转换 string 的字符, 要过滤掉的字符放到 deletechars 参数中
- upper() 转换字符串中的小写字母为大写
- zfill (width) 返回长度为 width 的字符串,原字符串右对齐,前面填充0
- isdecimal() 检查字符串是否只包含十进制字符,如果是返回 true,否则返回 false。
4.2列表-list
- 列表可以完成大多数集合类的数据结构实现。列表中元素的类型可以不相同,它支持数字,字符串甚至可以包含列表(所谓嵌套)。
- 列表是写在方括号[]之间、用逗号分隔开的元素列表。
- 列表索引值以0为开始值, -1为从末尾的开始位置。
- 列表可以使用+操作符进行拼接,使用*表示重复。
相比于C语言的数组强大在元素可以是不同类型的
列表的遍历可利用循环
访问:通过下标
切片:使用[第一空:第二空:第三空] 第一空:起始坐标;第二空:终止坐标;第三空:步长
遍历:for循环
增加元素:append:新增数据到列表尾部;extend:列表的追加—即合并列表;insert:列表数据插入;
列表的删除:del:通过索引删除指定位置的元素;remove:移除列表中指定值的第一个匹配值。如果没找到的话,会抛异常;pop:弹出列表尾部元素;
更新列表中的数据:通过下标修改
判断列表成员关系(是否在列表中):in 、not in
列表的排序:sort;
列表的反转:reverse;
获取列表长度:len
获取列表元素最大值:max
获取列表元素最小值:min
其它类型对象转换成列表:list()
列表嵌套
类似while循环的嵌套,列表也是支持嵌套的
一个列表中的元素又是一个列表