标签: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)
标签:extend python hello 常用 loading 排序 type update 拷贝
原文地址:https://www.cnblogs.com/xlzhangq/p/13210768.html