数据基础类型
数字(int)
字符串(str)
布尔(bool)
列表(list)
元组(tuple)
字典(dict)
数字
字符串
1. capitalize()
注:首字母大写,其他均为小写。例如:"aBc".capitalize() return:Abc
2. swapcase()
注:大写变小写,小写变大写。例如:"aBc".swapcase() return:AbC
3. title()
注:返回"标题化"的 string,就是说所有单词都是以大写开始,其余字母均为小写。
4. center()
注:返回一个原字符串居中,并使用空格填充至长度 width 的新字符串。
5. count()
注:统计字符串出现的次数。
6. startswith()
注:检查字符串是否是以指定子字符串开头,有返回值(True/False)
7. endswith()
注:检查字符串是否是以指定子字符串结尾,有返回值(True/False)
8. find()
注:
9. index()
注:
10. split()
注:指定分隔符对字符串进行切片。
11. format()
注:格式化输出。
12. strip()
注:移除字符串头尾指定的字符(默认为空格)
13. replace()
注:替换。
14. isalnum()
注:字符串由字母或数字组成,有返回值(True/False)
15. isalpha()
注:字符串只由字母组成,有返回值(True/False)
16. isdigit()
注:字符串只由数字组成,有返回值(True/False)
布尔
bool 返回值:True False
列表
定义:
li = ['a', 'b', 'c', 1, 2, 3]
增)
1. li.append('d') #添加到列表最后
2. li.insert(2, 'd') #根据索引进行插入
3. li.extend('def') #迭代添加
删)
1. li.remove('a') #按照元素尽心删除
2. li.pop() #随机删除
3. li.clear() #清空列表
4. del li[0] #按照索引或切片删除
改)
1. li[0] = 'A' #通过重新赋值修改
查)
1. li[0] #查询第一个元素
2. li[:3] #分片查询
3. li[::2] #设置步长值进行查询
4. li[-1] #查询最后一个元素
5. li[-1:-3] #倒序分片查询
6. li[-1:-4:-2] #倒序设置步长值查询
元组
定义:当层次不可进行添加、删除、更新操作,
tu = ('a', 'b', 1, 2, ['c', 'd'], {'k':'v'})
字典
dic = {'k1': 'v1', 'k2': 'v2'}
增)
1. dic['k3'] = 'v3' #有则覆盖,无则添加
2. dic.setdefault('a') 有则不变,无则添加(默认值为None)
删)
1. dic.pop('k1') # 返回值 对应的值
2. dic.clear() # 清空
3. dic.popitem() #随机删除,返回值
改)
1. dic['k1'] = 'V1'
2. dic.update({'k1': 'V1'})
查)
1. dic['k1'] # 当key不存在,会报错
2. dic.get('k1') # 当key不存在,不会报错
深浅copy
浅copy 对于浅copy来说,第一层创建的是新的内存地址,而从第二层开始,
指向的都是同一个内存地址,所以,对于第二层以及更深的层数来说,保持一致性
# l1 = [1,2,3]
# l2 = l1.copy()
# l1.append(666)
# print(l1,l2)
# print(id(l1),id(l2))
# l1 = [1,2,3,[22,33]]
# l2 = l1.copy()
# l1[-1].append(666)
# print(l1,l2)
# print(id(l1[-1]),id(l2[-1]))
深copy 对于深copy来说,两个是完全独立的,改变任意一个的任何元素(无论多少层),另一个绝对不改变。
# import copy
# l1 = [1,2,3,[22,33]]
# l2 = copy.deepcopy(l1)
# l1[-1].append(666)
# print(l1,l2)
# print(id(l1[-1]),id(l2[-1]))