【python】数据类型概述
2020-12-24 15:28
标签:extend python hello 常用 loading 排序 type update 拷贝 python数据类型分类: 1、int 整型 .bit_length() #数字转换成二进制长度 2、str 字符串 1)索引 索引默认从左到右,下标从0开始,从右到左,下标从-1开始 2)切片 语法: s[开始位置:结束位置:步长] 特点:顾头不顾尾 步长正负表示了起止的方向和内容打印的方向(默认正数是从左到右读和取) 3)常用操作: #字符串是不可变的,任何操作对原字符串无影响 #所以有返回值 s.capitalize() 首字母大写 s.title() 被特殊字符隔开的首字母大写(中文和空格也属于特殊字符) s.lower() s.upper() s.strip() 去空格 只对首尾有效 #s.strip("指定内容") 去除字符串前后指定内容 #s.lstrip() #s.rstrip() s.split("指定元素") 切割 #切割之后是列表,列表里面装的是字符串 #如果切割在字符串左右两端,一定会生成空字符串 s.replace() 替换 #s.replace(" ","") 区别s.strip() #注:空格和空字符串还是有区别的。 len() 计算字符串长度,不需要点操作 s.startswith(‘a‘) 判断是否以a开头 s.endswith(‘b‘) s.find("木木",2,6)指定范围查找 4)格式化输出 %s: s="我叫%s,今年%d岁了,喜欢%s" % (‘alex‘,20,‘羽毛球‘) 位置格式化: s="我叫{},今年{}岁了,喜欢{}".format(‘alex‘,20,‘羽毛球‘) 指定位置: s="我叫{0},今年{2}岁了,喜欢{1}".format(‘alex‘,‘羽毛球‘,20) 指定关键字: s="我叫{name},今年{age}岁了,喜欢{hobby}".format(name=‘alex‘,age=20,hobby=‘羽毛球‘) 5)迭代: str01 = ‘hello python‘ for i in str01: print(i) print(type(i)) 3、list 列表 #列表可变的,直接对原列表操作 1)增加: #返回值都是None list1.append() 向列表中添加一个元素,至末尾 list1.insert(1,‘周周‘) 指定位置添加一个元素 #少用,耗性能 list1.extend() 迭代添加 2)删除: #有返回值 list1.pop() 输出最后一个,返回值是删除的元素 list1.pop(1) 根据索引删除 #少用,耗性能 list1.remove(‘元素‘) 指定元素删除,无返回值 del list1 删除整个列表 #del list1[:] 切片删除得到的是空列表 list1.clear() 清除,得到空列表 3)修改: 通过索引修改:list1[0]=‘太白‘ 切片修改:list1[0:2]=‘马花花‘ #先删除再迭代添加 4)常用操作: list1.sort() 排序,默认升序 list1.sort(reverse=True) 倒序 list1.reverse() 翻转 len() 长度 5)列表嵌套 6)迭代 list1 = [1,2,3,‘zxl‘,[4,5]] for i in list1: print(i) #遍历各元素 print(type(i)) #取决各元素的数据类型 4、元组 #只读列表,不可变 1)元组中若只有一个元素,要加一个逗号,否则是int 2)元组不可变,指的是子元素类型是不可变的数据类型,若子元素是可变的数据类型那么也是可以修改的 3)tuple() 表空元组 4)迭代 tuple1 = (1,2,3,[4,5]) for c in tuple1: print(c) 5、字典 1){}括起来的键值对,无序的 key不可变,可哈希;可作为key的数据类型:str、 int、 bool、 tuple。 列表不可作为key 2)增加: dic["果果"]=‘汪峰‘ 不存在走添加,存在走修改 dic.setdefault("果果",‘老外‘) 不存在走添加,存在不保存走查询 3)删除: dic.pop(‘果果‘) 指定key删 dic.popitem() 随机删一个 del dic[‘果果‘] 指定key删 4)修改: dic1.update(dic2) 将dic2更新到dic1中,存在走修改,不存在走增加 dic[‘1‘]=dic[‘1‘] + 20 通过key修改 5)查: dic.get(‘1‘,‘503‘) 根据key查,若不存在返回指定值 dic.setdefault(‘昆凌‘,‘周周‘) 没有走新增,已存在走查询,返回对应的value 6)补充: dic.keys() 获取所有key dic.values()获取所有value dic.items()获取所有键值对 for k,v in dic.items(): print(k,v)--------------获取到的是元组类型 for i in dic1: print(i)-------获取key print(dic[i])-----获取value 补充: 1、range #同切片,顾头不顾尾 for i in range(10): print(i) # 0,1,2,3,4,5,6,7,8,9 for i in range(10,1,-1): prnt(i) #10 9 8 7 6 5 4 3 2 for i in range(len(list)): print(i) #获取列表的索引 (对字符串,元组,字典,列表都适用) 2、jion() s = ‘abc‘ s1=s.join("非常可乐") #把s插入到join里的字符串 print(s1) # 非abc常abc可abc乐 3、循环里做删除,不可以直接删 比如把主播薪资低于平均薪资的过滤掉 4、深浅拷贝 列表进行赋值操作,实际上是引用内存地址进行赋值 list2= list1 list2.append("大同") print(list1) #list1内容也被修改 浅拷贝: .copy() #适用于各元素不可变场景,只拷贝第一层 list2=list1.copy() #list1 和list2指向的不是同一对象 list2=list1[:] #切片赋值等价于浅拷贝 深拷贝: #适用所有类型,完全拷贝 list1 = [‘超人‘,‘七龙珠‘,[‘大力‘,‘二力‘]] import copy list2 = copy.deepcopy(list1) list1.append("大洋") print(list1,list2) 【python】数据类型概述 标签:extend python hello 常用 loading 排序 type update 拷贝 原文地址:https://www.cnblogs.com/xlzhangq/p/13210768.html
下一篇:Task.Run使用默认线程池