列表+元组+字典+集合+进制转化+字符串的常用操作方法
1、列表
- list
- [12,Ture,'你好',[1,2,3]] 承载任意数据类型,存储大量数据,Python常用的容器型数据类型,可以增删改查
- 增
- append 方法 :在列表最后追加
- insert 方法 :在指定索引位置插入
- extend 方法:迭代着追加
- 删
- pop 方法 :按索引位置删除,默认删除最后一个元素,返回值为删除的元素
- remove 方法:指定元素删除,如果有同名元素,默认删除从左数第一个
- clear 方法:清空列表元素
- del :可以按索引删除,可以按切片删除,
- 改
- 按索引重新赋值
- 按切片重新赋值,迭代修改,加步长需要一一对应
- 查
- 通过索引,切片,for循环方式查
- for i in listname
- 增
2、元组
- tuple
- (12,Ture,'你好',[1,2,3]) 存储大量数据,只读,不可以改变里面的元素
- 应用:重要数据,用户名,密码,个人信息,不想让别人改动的一些数据,可以保存在元组中
- 元组拆包需要一一对应
3、字典
-
dict
-
{'name':'Tom'} 已{}括起来,以键值对形式存储的容器型数据类型
-
键必须是不可变的数据类型:int str (bool tuple几乎不用)
- 可变的数据类型:list dict set
- 不可变的数据类型:str bool int tuple
-
值可以是任意数据类型,对象
-
字典的优点:存储大量的关联型数据,查询速度非常快
-
字典的缺点:以空间换时间
-
字典的创建方式
方式一:元组 dic = dict(('one',1),('two',2),('three',3)) print(dic) #{'one':1,'two':2,'three':3} 方式二: dic = dict(one=1,two=2,three=3) print(dic) #{'one':1,'two':2,'three':3} 方式三: dic = dict({'one':1,'two':2,'three':3}) print(dic) #{'one':1,'two':2,'three':3} -
字典的增删改查
-
增:
方式一:直接增加,有则改之,无则增加 dic = {'name':'张三','age'=20} dic['sex'] = '男' #键相同则修改字典内的值 print(dic) #{'name':'张三','age'=20,'sex':'男'} 方式二:setdefault 有则不变,无则增加 dic = {'name':'张三','age'=20} dic.setdefault('sex','男') print(dic) #{'name':'张三','age'=20,'sex':'男'} -
删
方式一:pop 按键删除 dic = {'name':'张三','age'=20} dic1 = dic.pop('age','没有此键') #当没有此键时,报出后一个参数为返回值 print(dic1) #{'name':'张三'} 方式二:clear 清空 dic = {'name':'张三','age'=20} dic.clear() print(dic) #{} -
改 通过键赋值改
-
查
方式一:通过键查询 方式二:get方法,同上述pop方法,有返回值 方式三:keys(所有键) values(所有值) items(所有键值对,元组形式)
-
-
字典的嵌套
4、集合
- set,{}
- 容器型的数据类型,它要求里面的元素是不可变的数据,但是它本身是可变的数据类型,集合是无序的。
- 集合的作用
- 列表的去重
- 关系测试 : 交集 , 并集, 差集
- 集合的作用
- 集合的创建
set1 = set({1,2,3,'zhongguo','中国'})
set1 = {1,2,3,'zhongguo','中国'}
set1 = set() #空集合
{} #空字典
-
集合的有效性:要求集合里的元素是不可变的
-
集合的增删改查
- 增
方式一:add方法 set1 = {1,2,3,'zhongguo','中国'} set1.add('yy') print(set1) #{1,2,3,'zhongguo','中国','yy'} 方式二:update方法 迭代着增加 set1 = {1,2,3,'zhongguo','中国'} set1.update('china') print(set1) #{1,2,3,'zhongguo','中国','c','h','i','n','a'}- 删
方式一:remove 方法 按照元素删除 set1 = {1,2,3,'zhongguo','中国'} set1.remove('zhongguo') print(set1) #{1,2,3,'中国'} 方式二:pop方法 随机删除一个元素 set1 = {1,2,3,'zhongguo','中国'} set1.pop() print(set1)- 改:变相改值,先删除再新增
-
交集 : & 或者 intersection
-
并集: | 或者 union
-
差集: - 或者 difference
-
反交集: ^ 或者symmetric_difference
5、二进制和十进制转化
#二进制转换为十进制
0001 1010
b=1 * 2**4 +1 * 2**3 + 0 * 2**2 + 1 * 2**1 + 0 * 2**0
print(b) #26
#十进制转换为二进制
42//2= 0
21//2=1
10//2=0
5//2=1
2//2=0
1//2=1
#和2求余,余数倒序排列,转换为二进制为: 10 1010,前面补足到8位,0010 1010
6、字符串常用操作方法
- upper lower
- upper : 字符串全部转换成大写
- lower : 字符串全部变成小写
s = 'ZHONGguo'
s1 = s.upper()
print(s1) #ZHONGGUO
s = 'ZHONGguo'
s1 = s.lower()
print(s1) #zhongguo
应用:输入账号,密码,验证码不区分大小写
username = input('请输入用户名:')
password = input('请输入密码:')
code = 'AbCd'
print(code)
you_code = input('请输入验证码:')
if you_code.upper() == code.upper():
if username == '张三' and password == '123456':
print('登录成功')
else:
print('用户名或密码不匹配')
else:
print('验证码错误')
-
startswith 判断开头 endswith 判断结尾
s= 'zhongguo' print(s.startswith('z')) #判断串s是否以z开头,输出Ture print(s.startswith('zhong'))) #判断串s是否以zhong开头。输出为Ture print(s.startswith('o',2,7) #判断串s中的'onggo'是否以0开头。输出为Ture -
replace 修改字符串
s = '张三很厉害,张三很白,张三很可爱'
s1 = s.replace('张三','李四') #后面跟count表示替换次数,省略表示全部替换
print(s1) #李四很厉害,李四很白,李四很可爱
-
strip :去除空白:空格,\t ,\n #也可以去除指定字符
-
split :将字符串切割成列表 #默认按照空格分隔,也可以指定分隔
-
join :
-
count: 计算字符串中某个字符出现的次数
-
format : 格式化输出
-
is系列
- isalnum ; #判断字符串是否由字母或数字组成
- isalpha : #判断字符串是否只由字母组成
- isdecimal : #判断字符串是否只由十进制组成

浙公网安备 33010602011771号