字符串
name='jinyudong'
按索引取值。正向取 与 反向取
name['3']
'y'
name['-3']
'o'
切片(若要使用倒序指定步长为-1),开始或者结束不指定即为到最边上的
name[3:]
'yudong'
统计字符串长度,即字符个数。
len(name)
9
成员运算。 in , not in
'dong' in name
True
移除两端空格或别的字符: lstrip rstrip 只从左或只从右移除
a = ' X '
a.strip()
'X'
切分: 根据特定符号把值切割为多个元素 lsplit rsplit 从左或从右开始切分 , 可写第二个参数为切分几次
name.split('n')
['ji', 'yudo', 'g']
判断开始和结束的字符: 返回的为布尔值
name.startswith('jin')
name.endswith('dong')
字符串替换: 三个参数为 old new count
name.replace('jin','james',1)
'jamesyudong'
另一种格式化字符串的方式:
res='{} {} {}'.format('dong',18,'male') res='{1} {0} {1}'.format('dong',18,'male') res='{name} {age} {sex}'.format(sex='male',name='dong',age=18)
查看字符出现的位置:
name.find('i',0,4) name.index('i')
查看字符出现的次数: name.count('n',1,8)
输出连续的特殊字符:
print(name.center(30,'-'))
print(name.ljust(30,'*'))
print(name.rjust(30,'*'))
print(name.zfill(50)) #用0填充
更改字符串字母的大小写。 upper 改为大写。 lower 改为小写。
print(name.capitalize()) #首字母大写 print(name.swapcase()) #大小写翻转
name = 'jin yu dong'
name.title() 每个单词的首字母大写
is判断相关方法:
isdigit() 可以判断bytes和Unicode类型
isdecimal() 只支持Unicode类型。 isnumeric() 判断中文数字或者罗马数字
isalnum() 字符串由字母或数字组成
isalpha() 字符串只由字母组成
isidentifier检测字符串是否是字母开头 。 isuppper() 是否大写。 islower() 是否小写。 isspace() 是否为空。 istitle() 是否为单词首字母大写
列表、元组
共性:都是存储一组数值,都是有序的
区别:列表创建后可修改。元组创建后不可修改
列表操作:
list = ['a','b','c','d']
索引: 从0开始计算
list[1]
'b'
切片: 从0开始计算,顾头不顾尾。第三个参数可设置步长
list[0:2]
['a','c']
添加: 在尾部添加一个元素
list.append['e']
插入: 指定插入的索引位置,跟上插入的元素
list,insert(2,'test')
修改: 指定索引,用赋值的方式重新定义该索引位置的值
list[2] = 'new'
计算元素个数: len() 一个元素为一个单位
len(list)
删除元素: 三种方法-- del 变量[索引] , remove('元素值') ,POP(索引) 默认从-1索引弹出, 弹出后会有输出可被变量使用
del list[-1]
list.remove('a')
this_c = list.pop()
一次追加多个: 定义一个列表,吧列表里的元素都追加到源列表尾部
list.extend(['x','y','z'])
拷贝: 用copy方法,并用新变量名做定义。 或者使用切片的方式,重新生成列表值并定义给新列表
new_list = list.copy()
new2_list =list[:]
统计一个元素出现的次数:
list.count('b')
排序: #3.0里不同数据类型不能放在一起排序
list.sort()
翻转:
list.reverse()
获取元素的索引:
list.index('c')
元组操作:
count 、 index 、 成员运算 和列表应用方法一样。
字典:
存多个key-value键值对。key必须是不可变类型,value可以是任意类型。
按key存取值。
dicts[key] 获取key对应的value 。 dicts[key] = 'value' 重新给key赋值。
统计键值对个数 ; len
删除。 pop('key') 指定弹出该key的键值对
键keys(),值values(),键值对items()
从一个多值对象中取出所需的值
q=(1,3,6,7,9)
a,_,b,c,d = q # _会获取到一个值,该值为弃用值
a,*_,d = q
交换两个变量的值:
z=1 x=2
x,z = z,x
#利用setdefault解决重复赋值 setdefault的功能 1:key存在,则不赋值,key不存在则设置默认值 2:key存在,返回的是key对应的已有的值,key不存在,返回的则是要设置的默认值
setdefault 原理:
集合
关系运算,去掉重复值。用{} 定义, 可包含多个元素。 每个元素必须是不可变类型(可hash,可作为字典的key)。 里面的元素是无序的。
集合的目的是将不同的值存放到一起,不同的集合间用来做关系运算
|合集 &交集 -差集 ^对称差集 == >,>= ,<,<= 父集,子集
以上所列出的数据类型均支持 in , not in 关系运算
占用存储空间排序: 数字<字符串<集合<元组<列表<字典
总结:
集合:无序,即无序存索引相关信息 元组:有序,需要存索引相关信息,不可变 列表:有序,需要存索引相关信息,可变,需要处理数据的增删改 字典:无序,需要存key与value映射的相关信息,可变,需要处理数据的增删改
容器类型的 : 列表,元组,字典,集合
可变的: 列表,字典
有序的: 列表,元组,字符串
身份运算(is ,is not)
is比较的是id,而双等号比较的是值 毫无疑问,id若相同则值肯定相同,而值相同id则不一定相同