1、字符串的基本运算符
+,用于字符串的连接
eg ‘abc’+'123' 输出:abc123
*,重复的输出一个字符串,被乘数一定是整数
'abc'*3 输出:abcabcabc
[a:b] 截取从a到b的一段字符串
a[1:2] 输出索引1-2的字符
[a:] 从索引a到最后
[:b] 从开始一直到b
in/not in 判断字符串是否包含/不包含在另一个字符串中
'a' in 'afda'
2、字符串常用的内置函数
string.capitalize() | 把字符串的第一个字符大写,其它字符小写 |
string.center(width) | 返回一个原始字符串居中,并使用空格填充至width长度的新字符串 |
string.count(str, start=0, end=len(string)) |
返回str在string中指定索引范围内[start, end)出现的次数 |
string.endswith(obj) | 判断string的结尾是否是obj,如果是返回true;否则返回false |
string.startswith(obj) | 判断string的开头是否是obj,如果是返回true;否则返回false |
string.find(str, start=0, end=len(string)) |
从左往右判断str在string指定索引范围内[start, end)出现的下标位置,如果没 有出现,直接返回-1 |
string.index(str, start=0, end=len(string)) |
功能类似find,区别在于,当字符串中没有字符串的时候,不是返回-1,而是 直接报错 |
string.rfind(str, start=0, end=len(string)) |
类似find,区别是该函数从右往左寻找字符串 |
string.replace(str1, str2, count=string.count(str1)) |
把string中的str1子字符串替换成为str2(从左往右进行替换),默认全部替换, 可以给定替换次数 |
string.isalnum() | 如果string至少有一个字符,并且字符为字母或者数字则返回True;否 则False |
string.isalpha() | 如果string至少有一个字符并且所有字符均为字母,则返回True;否则 False |
string.isspace() | 如果字符串只包含空格,那么返回True,否则返回False |
string.isdigit() | 如果string只包含数字则返回True,否则返回False |
string.islower() | 如果string中包含至少一个区分大小写的字符,并且所有这些字符都是 小写字符,那么则返回True,否则返回False |
string.isupper() | 如果string中包含至少一个区分大小写的字符,并且所有这些字符都是 大写字符,那么则返回True,否则返回false |
string.lstrip() | 去掉string左边的空格 |
string.rstrip() | 去掉string右边的空格 |
string.strip() | 去掉string左边和右边的所有空格 |
string.lower() | 将string中的所有大写字符转换为小写字符 |
string.upper() | 将string中的所有小写字符转换为大写字符 |
max(string) | 获取string中最大的单字符 |
min(string) | 获取string中最小的单字符 |
string.rindex(str, start=0, end=len(string)) |
功能类似index,区别是从右往左查找子字符串 |
string.split(seq=” “, maxsplit=string.count(seq)) |
以给定的seq分割字符串string,默认全部分割,但是可以通过给定 maxsplit参数决定最终分割的子字符串的数量 |
string.swapcase() | 翻转string中的大小写(大写字符转换为小写字符,小写字符转换为大 写字符) |
string.title() | 字符串中空格进行分割,所有单词均以大写字母开头,单词的其它字 母均转换为小写。 |
3、列表的操作:
和元组的差别在于列表可以被修改,元组一旦设定不能再更改
len(list) | 获取列表长度 |
max(list) | 获取列表中的最大值 |
min(list) | 获取列表中的最小值 |
list[index] | 获取列表中下标为index的元素 项值 |
list[a:b] | 获取列表中下标范围为[a,b)之 间的所有元素项值,如果没有 满足的项,结果为空列表 |
list[a:] | 功能类似list[a:b], 区别在于下标 范围为[a:len(list)) |
list[:b] | 功能类似list[a:b], 区别在于下标 范围为[0: b) |
list.append(obj) | 将对象obj追加到列表中(最后的位置) |
list.count(obj) | list中包含obj对象的数量 |
list.extend(seq) | 将序列seq追加到列表list中 |
list.index(obj) | 返回obj在list中的最小索引下标值,如 果不存在obj对象,那么直接抛出异常 |
list.insert(index,o bj) |
将对象obj插入到列表list的指定下标 index的位置;如果index下标超过范围, 那么直接将obj追加到list的尾部 |
list.remove(obj) | 从列表中删除一个元素obj(索引下标最 小的那个obj对象),如果不存在,直接 抛出异常 |
list.reverse() | 反转list列表的值 |
list.pop(index) | 从list列表中删除索引为index的元素并 返回被删除的元素 |
list.sort() | 对list的元素进行排序操作 |
names = ['Bob', 'Gerry', 'tom', 'lili', 'Jerry', 'Smith']
new_names = [name.upper() for name in names if len(name) > 3]
print new_names
// ['GERRY', 'LILI', 'JERRY', 'SMITH']
4、元组的操作
元组的操作类似于列表
如果要构建只有一个元素的元组,需要在这个元素后加逗号。t1=(1,)
len(tuple) | 获取元组的长度 |
max(tuple) | 获取元组中的最大值 |
min(tuple) | 获取元组中的最小值 |
tuple[index] | 获取tuple中下标为index的元素项值 |
tuple[a:b] | 获取元组中下标范围为[a,b)之间的所有元素项值,如果 没有满足的项,结果为空元组 |
tuple[a:] | 功能类似tuple[a:b], 区别在于下标范围为[a:len(tuple)) |
tuple[:b] | 功能类似tuple[a:b], 区别在于下标范围为[0: b) |
tuple(seq) | 将列表转换为元组 |
list(tuple) | 将元组转换为列表 |
5、字典的操作
key必须唯一,并且数据类型不可变
len(dict) | 获取dict中键值对的数量 |
dict.clear() | 删除dict中的所有元素 |
dict.copy() | 返回字典dict的浅拷贝对象 |
dict.fromkeys(seq[,value]) | 创建一个新的字典,使用列表seq作为key,使用参数value填充字典dict中key的 对应value的值, 如果不给的value的值,默认为None |
dict.get(key, default=None) |
根据key从dict中获取对应的value值,如果key不存在,直接返回给定的默认值 None |
dict.items() | 返回该dict中(key,value)组成的列表 |
dict.keys() | 返回该dict中key组成的列表 |
dict.setdefault(key, default) |
从dict中获取键为key的值,如果该key不存在,那么进行dict[key]=default操作, 然后再获取,该返回的返回值是dict中key对应的value |
dict.update(dict2) | 将dict2中的所有key/value键值对添加到dict中(会进行覆盖操作) |
dict.values() | 获取字典dict中指的列表 |