python 07 数据类型
1. 基础数据类型填充
1.str:(不可变)
name = "alex"
print(name.capitalize()) #首字母大写
name = "alex wusir"
name.title() # 每个单词首字母大写
name = "AlEx Wuser"
print(name.swapcase()) #大小写反转
name = "alex"
print(name.center(20)) #居中,一共占20个位置
print(name.center(20,"*")) #居中填充********alex********
print(name.find("l")) #从左向右查找"l"的位置,当不存在时返回-1
print(name.index("l")) #从左向右查找"l"的位置,当不存在时报错
name = "alex"
print("_".join(name)) # 拼接,必须时可迭代的
# 格式化: 1. % 2. f
# 3. .format()
name = "alex{},{},{}"
print(name.format(1,2,3)) # 按照顺序位置进行填充
name = "alex{2},{0},{1}"
print(name.format("a","b","c")) #按照索引值进行填充
name = "alex{a},{b},{c}"
print(name.format(a=1,c=11,b=6))#按照关键字进行填充
str可以进行+,* 字符 + 和 * 都开辟新的空间
2. list:
定义方式:lst = list(" ") # 放可迭代内容
lst.sort() # 排序 (升序)
#不能打印print(lst.sort()) 否则 None
lst.reverse() #反转
lst.sort(reverse=True) # 降序
# 面试题
lst = [[]]
new_lst = lst * 5
new_lst[0].append(10)
print(new_lst) # [[10],[10],[10],[10],[10]]
列表在进行 + * 时,元素共用
3. tuple:
tu = ("12") # 数据类型是()中数据本身 ,字符串
tu = (1,) # (1,)是元组
元组 + * 不可变共用,可变也共用
4. dict:
定义: dict(k=1,k1=1)
print(dic.popitem()) # 返回的是被删除的键值对(键,值) 默认删最后一个
dic1 = dic.fromkeys("123",[23]) # 批量添加键值对,必须再次赋值到变量dic1 {"1":[23],"2":[23],"3":[23]}
fromkeys("可迭代的键",共用的值) ,必须再次赋值到变量
dic = dict.fromkeys("123456789",1) #用dict
5. set:
set() -- 空集合
{} -- 空字典
定义:set("alex") # 迭代添加
6. bool:
False:
数字: 0 字符串: "" 列表:[] 元组:() 字典:{} 集合: set() 其他: None
7. 数据类型之间转换
list -- str 用join
str -- list 用split
2.删除列表/字典的代码坑:
lst = [1,2,3]
for i in lst:
lst.append(4)
print(lst) # 进入死循环
循环删除列表 的坑:(列表会自动向前补位, 需从后向前删除)
lst = [1,2,3,4]
for i in lst:
lst.pop()
print(lst) # [1, 2]
lst = [1,2,3,4] #[2,3,4] [3,4]
for i in lst:
lst.pop(0)
print(lst) #[3, 4]
lst = [1,2,3,4] #[2,3,4] [2,4]
for i in lst: # i=1 i=3
lst.remove(i)
print(lst) #[2, 4]
lst = [1,2,3,4,6]
for i in range(len(lst)):
del lst[i]
print(lst) #报错,索引超出列表
成功删除:
lst = [1,2,3,4]
for i in range(len(lst)):
lst.pop()
print(lst) #[] 将列表从右向左删
for i in range(len(lst)):
del lst[0]
print(lst) #[]
lst = [1,2,3,4,6]
for i in range(len(lst)-1,-1,-1):
del lst[i]
print(lst) #[] 将列表从右向左删
lst = [1,2,3,4,6]
for i in range(len(lst)):
del lst[-1]
print(lst) #[]
"*****重点*******"
lst = [1,2,3,4,5,6]
lst1 = lst.copy()
for i in lst1:
lst.remove(i)
print(lst) #[] 创建一个新的列表,通过新列表的元素,删除旧的列表
# 删除字典的坑
dic = dict.fromkeys("12345",1) #创建一个共用值的字典
# print(dic) {'1': 1, '2': 1, '3': 1, '4': 1, '5': 1}
for i in dic: # i 键
dic["a"] = 6 # 增加新键值对
print(dic) #报错
dic = dict.fromkeys("12345",1)
print(dic)
for i in dic: # i 键
dic[i] = "123"
print(dic) #{'1': '123', '2': '123', '3': '123', '4': '123', '5': '123'} 改一个共用的值,全都改变
*******
字典在循环迭代的时候可以改变原来值的大小(不能加不能删)
*******
*******重点*******
dic = dict.fromkeys("12345",1)
dic1 = dic.copy()
for i in dic1:
dic.pop(i)
print(dic) # {} 创建一个新的字典,通过新字典的的键,删除旧的字典
集合和字典都是在循环迭代的时候不能改变原来的大小,而且集合也不可以改变值(因为其改的操作是:先删再加)
3. 二次编码:
1. 编码:
将文字转换成字节形式 s.encode("uft-8")
2. 解码:
将字节转换成文字形式 s.decode("uft-8")
以什么编码集进行编码,就要用什么编码集解码。
python 07 数据类型的更多相关文章
- python 之 数据类型初接触
python 之 数据类型初接触 标准数据类型 Python3 中有六个标准的数据类型: Number(数字) String(字符串) List(列表) Tuple(元组) Set(集合) Dicti ...
- python 基本数据类型分析
在python中,一切都是对象!对象由类创建而来,对象所拥有的功能都来自于类.在本节中,我们了解一下python基本数据类型对象具有哪些功能,我们平常是怎么使用的. 对于python,一切事物都是对象 ...
- python常用数据类型内置方法介绍
熟练掌握python常用数据类型内置方法是每个初学者必须具备的内功. 下面介绍了python常用的集中数据类型及其方法,点开源代码,其中对主要方法都进行了中文注释. 一.整型 a = 100 a.xx ...
- 闲聊之Python的数据类型 - 零基础入门学习Python005
闲聊之Python的数据类型 让编程改变世界 Change the world by program Python的数据类型 闲聊之Python的数据类型所谓闲聊,goosip,就是屁大点事可以咱聊上 ...
- python自学笔记(二)python基本数据类型之字符串处理
一.数据类型的组成分3部分:身份.类型.值 身份:id方法来看它的唯一标识符,内存地址靠这个查看 类型:type方法查看 值:数据项 二.常用基本数据类型 int 整型 boolean 布尔型 str ...
- Python入门-数据类型
一.变量 1)变量定义 name = 100(name是变量名 = 号是赋值号100是变量的值) 2)变量赋值 直接赋值 a=1 链式赋值 a=b=c=1 序列解包赋值 a,b,c = 1,2,3 ...
- Python基础:八、python基本数据类型
一.什么是数据类型? 我们人类可以很容易的分清数字与字符的区别,但是计算机并不能,计算机虽然很强大,但从某种角度上来看又很傻,除非你明确告诉它,"1"是数字,"壹&quo ...
- python之数据类型详解
python之数据类型详解 二.列表list (可以存储多个值)(列表内数字不需要加引号) sort s1=[','!'] # s1.sort() # print(s1) -->['!', ' ...
- Python特色数据类型(列表)(上)
Python从零开始系列连载(9)——Python特色数据类型(列表)(上) 原创 2017-10-07 王大伟 Python爱好者社区 列表 列表,可以是这样的: 分享了一波我的网易云音乐列表 今天 ...
随机推荐
- Java--ASCII码
ASCII(American Standard Code for Information Interchange,美国标准信息交换代码)是基于拉丁字母的一套电脑编码系统,主要用于显示现代英语和其他西欧 ...
- 使用redis分布式锁解决并发线程资源共享问题
众所周知, 在多线程中,因为共享全局变量,会导致资源修改结果不一致,所以需要加锁来解决这个问题,保证同一时间只有一个线程对资源进行操作 但是在分布式架构中,我们的服务可能会有n个实例,但线程锁只对同一 ...
- UPC Contest RankList – 2019年第二阶段我要变强个人训练赛第十四场
A.JOIOJI •传送门 [1]:BZOJ [2]:洛谷 •思路 在一个区间(L,R]内,JOI的个数是相等的,也就是R[J]-L[J]=R[O]-L[O]=R[I]-L[I], 利用前缀和的思想, ...
- Set接口的使用
Set集合里多个对象之间没有明显的顺序.具体详细方法请参考API文档(可见身边随时带上API文档有多重要),基本与Collection方法相同.只是行为不同(Set不允许包含重复元素). Set集合不 ...
- 脱壳系列_2_IAT加密壳_详细版_解法1_包含脚本
1 查看壳程序信息 使用ExeInfoPe 分析: 发现这个壳的类型没有被识别出来,Vc 6.0倒是识别出来了,Vc 6.0的特征是 入口函数先调用GetVersion() 2 用OD找OEP 拖进O ...
- Drools规则引擎-如果判断某个对象中的集合是否包含指定的值
规则引擎集合相关处理 在实际生产过程中,有很多关于集合的处理场景,比如一个Fact对象中包含有一个集合,而需要判断该集合是否包含某个值.而Drools规则引擎也提供了多种处理方式,比如通过from.c ...
- Discuz论坛 自动加好友留言程序
目录 [隐藏] 1 思路: 2 代码: 2.1 登录,获取Cookie: 2.2 获取FormHash: 2.3 发送加好友请求并留言: 思路: 一波未平一波又起, 拿到这个需求的时候对我来说还是有挑 ...
- 客户端埋点实时OLAP指标计算方案
背景 产品经理想要实时查询一些指标数据,在新版本的APP上线之后,我们APP的一些质量指标,比如课堂连接掉线率,课堂内崩溃率,APP崩溃率等指标,以此来看APP升级之后上课的体验是否有所提升,上课质量 ...
- k8s学习02-----kubeadm部署k8s
机器规划 系统配置 三台机器都执行 1.关闭selinux及firewalld sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux ...
- 用HTML5的canvas做一个时钟
对于H5来说,canvas可以说是它最有特色的一个地方了,有了它之后我们可以随意的在网页上画各种各样的图形,做一些小游戏啊什么的.canvas这个标签的用法,在网上也有特别多的教程了,这里就不作介绍了 ...