Python全栈开发【基础-11】基本数据类型内置方法
专栏介绍:
本专栏为Python全栈开发系列文章,技术包括Python基础、函数、文件、面向对象、网络编程、并发编程、MySQL数据库、HTML、JavaScript、CSS、JQuery、bootstrap、WSGI、Django、Flask、后期运维、git使用、Linux运维、Python结合Shell结合场景开发自动化脚本等一系列文章. 从入门到实战。 文章内容来自博主学习笔记,修整发布。
在本博客中,
python
是一个系列文章,如果你还不明白Python
的相关概念,强烈建议从Python
系列文章中的第一篇开始阅读,否则你可能无法理解这篇文章中涉及到的部分名词。
全栈目录导航:https://yankerp.blog.csdn.net/article/details/126314634
目录:
- 专栏介绍:
- 一、列表
- 1.1 列表的作用:
- 1.2 列表的定义
- 1.3 列表转换
- 1.3.1 字符串:
- 1.3.2 字典
- 1.3.3 元祖:
- 1.4 内置方法
- 1.4.1 按照索引取值,正向取反向取:
- 1.4.2 切片操作(顾头不顾尾的操作)
- 1.4.3 长度:(len)
- 1.4.4 成员运算符in & not in
- 1.4.5 追加[append]
- 1.4.6 插入值
- 1.4.7 删除值
- 1.4.8 列表循环
- 2.1 列表的其他方法:
- 2.1.1 count方法:
- 2.1.2 reverse方法:
- 2.1.3 clear方法:
- 2.1.4 sort方法:
- 2.1.5 结合reverse升序降序:
- 2.1.6 copy浅拷贝
- 2.1.7 index方法:
- 二、元组(不可变的列表)
- 2.1 作用
- 2.2 定义
- 2.3 类型转换
- 2.3.1 字符串:
- 2.3.2 字典:
- 2.3.3 列表:
- 2.4 内置方法
- 2.4.1 按索引取值「正向取、反向取」
- 2.4.2 切片
- 2.4.3 长度
- 2.4.4 成员运算符in not in
- 2.4.5 循环
- 2.5 元组的内置方法:
- 三、字典
- 3.1 作用
- 3.2 定义
- 3.3 类型转换
- 3.4 内置方法
- 3.4.1 按key取值可存可取
- 3.4.2 长度len
- 3.4.3 成员运算符 in和not in
- 3.4.4 删除
- 3.4.5 clear:直接清空字典
- 3.4.6 setdefault方法
- 3.4.7 update方法
- 总结:
- 结束:
一、列表
1.1 列表的作用:
列表的作用就是存储一个或者多个任意类型的数据类型,通过index可查可取得一种数据类型
1.2 列表的定义
l = [111,222,333] # l = list([111,222,333])
列表的定义原则上来讲就是list()定义一个列表
1.3 列表转换
列表可以将一切可以通过for循环的数据类型转换为列表,实际上list列表的转换就是调用了一个for循环来实现的。
1.3.1 字符串:
res = list("my name is yanzan")
l = []
for x in "my name is yanzan":l.append(x)
1.3.2 字典
字典:
res2 = list({'name' : "yanzan", 'password' : "pwd123.com"})
# print(type(res2), res2)
1.3.3 元祖:
>>> print(list((000,111,222,333))
... )
[0, 111, 222, 333]
>>>
1.4 内置方法
1.4.1 按照索引取值,正向取反向取:
>>> name = ['aaa' ,'bbb']
>>> name[1]
'bbb'
>>> name[-1]
'bbb'
>>> name[0]
'aaa'
>>>
可以按照index来进行赋值操作:
>>> name = ['aaa' ,'bbb']
>>> name[1] = 333
>>> print(name)
['aaa', 333]
当index不存在的时候会直接报错,无论是取值还是赋值都是会报错的。
1.4.2 切片操作(顾头不顾尾的操作)
>>> name = ['aaa' ,'bbb','ccc','ddd','eee','fff','ggg']
>>> name[0:]
['aaa', 'bbb', 'ccc', 'ddd', 'eee', 'fff', 'ggg']
>>> name[1:]
['bbb', 'ccc', 'ddd', 'eee', 'fff', 'ggg']
>>> name[0:6:2]
['aaa', 'ccc', 'eee']
>>>
反向切片:
>>> name = ['aaa' ,'bbb','ccc','ddd','eee','fff','ggg']
>>> name[:-1]
['aaa', 'bbb', 'ccc', 'ddd', 'eee', 'fff']
>>>
1.4.3 长度:(len)
>>> name = ['aaa' ,'bbb','ccc','ddd','eee','fff','ggg']
>>> len(name)
7
>>>
1.4.4 成员运算符in & not in
>>> name = ['aaa' ,'bbb','ccc','ddd','eee','fff','ggg']
>>> print('aaa' in name)
True
>>> print('aaa' not in name)
False
>>>
1.4.5 追加[append]
>>> info = ['aaa','bbb']
>>> info.append('ccc')
>>> print(info)
['aaa', 'bbb', 'ccc']
>>>
1.4.6 插入值
>>> info = ['aaa','bbb']
>>> info
['aaa', 'bbb']
>>> info.insert(2, 'ccc')
>>> print(info)
['aaa', 'bbb', 'ccc']
>>>
insert 就是插入值,以上的意思就是在index 2号索引插入一个ccc的字符串。如果insert的index索引号写的不存在这个索引也没有关系,默认还是在末尾添加插入一个值。
插入值的一个extend的方法:
>>> info = ['aaa','bbb']
>>> info
['aaa', 'bbb']
>>> info2 = ['ccc','ddd','fff']
>>> info.extend(info2)
>>> print(info)
['aaa', 'bbb', 'ccc', 'ddd', 'fff']
>>>
extend方法是将一个列表其中的数据追加到另外一个列表当中
1.4.7 删除值
- 方式一:通过del方式
>>> info = ['aaa','bbb','ccc']
>>> info
['aaa', 'bbb', 'ccc']
>>> del(info[0])
>>> print(info)
['bbb', 'ccc']
del 删除列表当中的index,若在del删除index过程当中index并不存在则直接报错。
- 方式二:通过list.pop
>>> info = ['aaa','bbb','ccc']
>>> info.pop(1)
'bbb'
>>> info.pop(9)
Traceback (most recent call last):File "<stdin>", line 1, in <module>
IndexError: pop index out of range
>>>
使用list.pop的方式通过pop括号内填写index值,若index值存在则进行删除并且返回删除的值信息,若index不存在则直接报错。
- 方式三:list.remove方法
>>> info = ['aaa','bbb','ccc']
>>> info.remove('aaa')
>>> info.remove('bbb')
>>> info.remove('ccc')
>>> info.remove('ddd')
Traceback (most recent call last):File "<stdin>", line 1, in <module>
ValueError: list.remove(x): x not in list
>>>
remove删除列表当中的元素,remove是通过列表的值删除,而不是通过index去删除、若删除的元素不存在则直接报错。
在使用列表删除的功能当中使用remove和pop的是最多的,一个是可以通过index删除并且有返回值,另外一个是通过remove删除指定的一个值。
1.4.8 列表循环
>>> info = ['aaa','bbb','ccc']
>>> for x in info:
... print(x)
...
aaa
bbb
ccc
>>>
2.1 列表的其他方法:
info.count()
info.reverse()
info.clear()
info.sort()
info.copy()
info.index()
2.1.1 count方法:
统计这个aaa字符串在这个列表中有多少个
>>> info = ['aaa','bbb','ccc','ddd']
>>> info.count('aaa')
1
>>>
2.1.2 reverse方法:
reverse方法是将列表当中的元素反过来。
>>> info.reverse()
>>> print(info)
['ddd', 'ccc', 'bbb', 'aaa']
2.1.3 clear方法:
清空列表
>>> info = ['aaa','bbb','ccc','ddd']
>>> info.clear()
>>> info
[]
2.1.4 sort方法:
排序
>>> info = [222,111,333,666,999,444,1.1,2.2,0.1]
>>> info.sort()
>>> info
[0.1, 1.1, 2.2, 111, 222, 333, 444, 666, 999]
>>>
2.1.5 结合reverse升序降序:
>>> info = [222,111,333,666,999,444,1.1,2.2,0.1]
>>> print(info.sort(reverse=False))
None
>>> info.sort()
>>> print(info)
[0.1, 1.1, 2.2, 111, 222, 333, 444, 666, 999]
>>> info.sort(reverse=False)
>>> info
[0.1, 1.1, 2.2, 111, 222, 333, 444, 666, 999]
>>> info.sort(reverse=True)
>>> info
[999, 666, 444, 333, 222, 111, 2.2, 1.1, 0.1]
>>>
2.1.6 copy浅拷贝
>>> info = [222,111,333,666,999,444,1.1,2.2,0.1]
>>> info2 = info.copy()
>>> info2
[222, 111, 333, 666, 999, 444, 1.1, 2.2, 0.1]
>>>
2.1.7 index方法:
>>> info = [222,111,333,666,999,444,1.1,2.2,0.1]
>>> info.index(0.1)
8
>>>
index方法就是查看括号中内容在列表当中的index是多少。查看位置。
二、元组(不可变的列表)
2.1 作用
元组的作用主要是用来读数据用,因为元组属于不可变类型,它不像列表一样可以存也可以取也可以改,元组是不可改变的。只能用于读,不可以用于改
2.2 定义
>>> infoname = ('yanzan', 'zhangsan', 'lisi') # infoname = tuple('yanzan','zhangsan','lisi,)
>>> print(infoname, type(infoname))
('yanzan', 'zhangsan', 'lisi') <class 'tuple'>
>>>
2.3 类型转换
tuple和list的类型转换都是一样的,都是可以将凡是能够通过for循环循环的数据类型都可以进行转换
2.3.1 字符串:
>>> name = 'yanzan'
>>> tuple(name)
('y', 'a', 'n', 'z', 'a', 'n')
>>>
2.3.2 字典:
>>> nameinfo = {'name':'yanzan','age':19}
>>> tuple(nameinfo)
('name', 'age')
>>>
2.3.3 列表:
>>> nameinfo = ['yanzan','zhangsan','lisi']
>>> tuple(nameinfo)
('yanzan', 'zhangsan', 'lisi')
>>>
2.4 内置方法
2.4.1 按索引取值「正向取、反向取」
>>> name2
('yanzan', 'zhangsan', 'lisi')
>>> name2[0]
'yanzan'
>>> name2[-1]
'lisi'
>>>
2.4.2 切片
>>> name2
('yanzan', 'zhangsan', 'lisi')
>>> name2[0:]
('yanzan', 'zhangsan', 'lisi')
>>> name2[:-1]
('yanzan', 'zhangsan')
>>>
2.4.3 长度
>>> name2
('yanzan', 'zhangsan', 'lisi')
>>> len(name2)
3
>>>
2.4.4 成员运算符in not in
>>> name2
('yanzan', 'zhangsan', 'lisi')
>>> print('yanzan' in name2)
True
>>> print('yanzan' not in name2)
False
>>>
2.4.5 循环
>>> name2
('yanzan', 'zhangsan', 'lisi')
>>> for x in name2:
... print(x)
...
yanzan
zhangsan
lisi
>>>
2.5 元组的内置方法:
- index: 是查看元组当中zhangsan这个字符index在哪里它的一个位置
- count:是查看lisi在元组当中出现了多少次或者有几个
>>> name2
('yanzan', 'zhangsan', 'lisi')
>>> name2.count('lisi')
1
>>> name2.index('zhangsan')
1
>>>
三、字典
3.1 作用
字典也是存储数据值的,一个字典当中可以存放任意的数据类型,和列表不同的是字典是具备有描述信息,可以更方便的存储数据
3.2 定义
nameinfo = {'name' : 'yanzan','age' : 19
}
3.3 类型转换
nameinfo = [['name', 'yanzan'],['age', 19]
]print(dict(nameinfo))
3.4 内置方法
3.4.1 按key取值可存可取
>>> name = {'name':'yanzan','age':19}
>>> name['name'] = 'zhangsan'
>>> name['url'] = 'www.yankerphub.com'
>>> name
{'name': 'zhangsan', 'age': 19, 'url': 'www.yankerphub.com'}
>>>
以上如果key存在的话会直接更改key对应的值,若这个key不存在的话会直接添加key对应值。
3.4.2 长度len
>>> name
{'name': 'lisi', 'age': 19}
>>> len(name)
2
len在字典当中是查看有多少个key
3.4.3 成员运算符 in和not in
{'name': 'yanzan', 'age': 19, 'url': 'www'}
>>> print('yanzan' in nameinfo)
False
>>> print('name' in nameinfo)
True
>>>
成员运算符in在字典当中是查看有没有这个key而不是value值
3.4.4 删除
- 通用的删除方式:del
>>> nameinfo
{'name': 'yanzan', 'age': 19, 'url': 'www'}
>>> del(nameinfo['name'])
>>> nameinfo
{'age': 19, 'url': 'www'}
>>>
- pop方式
>>> nameinfo
{'name': 'yanzan', 'age': 19, 'url': 'www'}
>>> nameinfo.pop('name')
'yanzan'
>>> nameinfo.pop('name')
Traceback (most recent call last):File "<stdin>", line 1, in <module>
KeyError: 'name'
>>>
字典当中的pop和列表一样,都是用来删除的并且能返回被删除的值信息,如果pop括号内的key不存在的话会直接报错
- pop.item方式
>>> nameinfo
{'age': 19, 'url': 'www'}
>>> nameinfo = {'name':'yanzan','age':19, 'url' : 'www'}
>>> nameinfo.popitem()
('url', 'www')
>>> nameinfo.popitem()
('age', 19)
>>> nameinfo.popitem()
('name', 'yanzan')
pop.items方式就是随机删除,删除后会返回删除的key和value都会一起返回。返回的还是一个元组,元组里面对应的key和value
keys、values、items
n = {}
info = {"name" : "yanzan"}
info1 = [('name', 'yanzan')]
for x in info1:print("这是元组当中第一个元素:{name},第二个元素是{values}".format(name=x[0], values=x[1]))print(x)
aaa = ('name', 'yanzan')
a, b =aaa
print(f"这是元组的一个解压赋值:{a} {b}") # 验证了这一点
3.4.5 clear:直接清空字典
>>> nameinfo = {'name':'yanzan','age':19, 'url' : 'www'}
>>> nameinfo.clear()
>>> nameinfo
{}
>>>
3.4.6 setdefault方法
>>> nameinfo = {'name':'yanzan','age':19, 'url' : 'www'}
>>> nameinfo['name'] = 'zhangsan'
>>> nameinfo
{'name': 'zhangsan', 'age': 19, 'url': 'www'}
>>> nameinfo.setdefault('name', 'lisi')
'zhangsan'
>>> nameinfo
{'name': 'zhangsan', 'age': 19, 'url': 'www'}
>>> nameinfo.setdefault('aaaaa', 'lisi')
'lisi'
>>> nameinfo
{'name': 'zhangsan', 'age': 19, 'url': 'www', 'aaaaa': 'lisi'}
>>>
3.4.7 update方法
>>> xin_dict = {11111111111111 : 22222222222222222}
>>> nameinfo.update(xin_dict)
>>> nameinfo
{'name': 'zhangsan', 'age': 19, 'url': 'www', 'aaaaa': 'lisi', 11111111111111: 22222222222222222}
>>>
总结:
列表、元组、字典都为容器类型
列表字典可变类型、元组属于不可变类型
元组是一个不可变类型的列表,只能读不能写不能修改,如果列表当中有很多数据但是永远都不会改变的话可以存放到元组,因为元组占用的内存空间资源少。
结束:
Python全栈开发【基础-11】基本数据类型内置方法相关推荐
- python全栈开发基础【第十七篇】面向对象反射和内置方法
一.静态方法(staticmethod)和类方法(classmethod) 类方法:有个默认参数cls,并且可以直接用类名去调用,可以与类属性交互(也就是可以使用类属性) 静态方法:让类里的方法直接被 ...
- python全栈开发百度云_老男孩2020最新Python全栈开发基础班+就业班
|- 数据结构+算法.rar - 485.30 MB |- 串讲.rar - 2.01 GB |- 补充资料.rar - 536.00 MB |- MongoDB.rar - 110.10 MB |- ...
- 巨蟒python全栈开发-第11阶段 ansible_project2
一个NB的网站: https://www.toolfk.com/ CDN:将用户的需求送到最近的节点:内容分发网络 有些是专门做CDN的工具 常用的markdown是需要知道的,短信有字数限制. we ...
- 巨蟒python全栈开发-第11阶段 ansible_project1
今日大纲: 1.前端页面介绍 2.发布流程 3.需求分析 4.表结构设计 5.前端页面设计 昨日内容回顾: 1.roles - tasks- handlers- files- templates- v ...
- python全栈开发基础学习过程笔记【18d】os模块
os模块调用操作系统,对文件和文件夹进行操作 1.头文件 impoet os 2os.getcwd() 作用:当前脚本工作的目录路径 print(os.getcwd()) 输出: ========== ...
- python全栈开发基础【第二十三篇】线程
一.什么是线程 线程:顾名思义,就是一条流水线工作的过程,一条流水线必须属于一个车间,一个车间的工作过程是一个进程 所以,进程只是用来把资源集中到一起(进程只是一个资源单位,或者说资源集合),而线程才 ...
- Python 全栈开发基础
python面向对象 python异常处理 python网络编程 python并发编程 临时目录 转载于:https://www.cnblogs.com/fixdq/p/8883304.html
- python全栈开发基础【补充】包的补充
1.包A和包B下有同名模块也不会冲突,因为A.a与B.a来自俩个命名空间 2.常见目录结构 # 创建目录代码 import os os.makedirs('glance/api') os.makedi ...
- python 全栈开发,Day43(python全栈11期月考题)
python 全栈开发,Day43(python全栈11期月考题) python全栈11期月考题 1.常用字符串格式化有哪些?并说明他们的区别 2.请手写一个单例模式(面试题) 3.利用 python ...
- python 全栈开发,Day32(知识回顾,网络编程基础)
python 全栈开发,Day32(知识回顾,网络编程基础) 一.知识回顾 正则模块 正则表达式 元字符 :. 匹配除了回车以外的所有字符\w 数字字母下划线\d 数字\n \s \t 回车 空格 和 ...
最新文章
- Linux:echo、read、cat命令
- Selenium之鼠标和键盘操作及扩展
- RabbitMQ(七):常用方法说明 与 学习小结
- php 精度计算问题
- webservice发布
- C# aspx页面动态加载ascx用户控件 及 利用反射调用其内方法
- 计算机技术Control,聚变控制计算机 (Fusion Control Computer)
- nodejs总结之redis模块
- token详解及常见防范措施
- SQL像数组一样处理字符串、分割字符串(标量值函数[用户自定义函数])
- RocketMQ 下载、安装与 单机启动
- 如何在EdrawMax中同时画有箭头和没箭头的直线
- 利用navicat 进行 mysql建表语句转oracle建表语句
- 可替换MPS MP2451的高压DCDC芯片FS2451助力智能电表设计40V0.5A降压IC
- SMARTS决策引擎:实时决策分析
- 软件测试周刊(第24期):最不重要的素质就是智商
- 软件测试工程师要具备哪些从业技能?
- element UI的带输入建议el-autocomplete总结(详细,全)
- 使用LASSO进行全基因组关联分析
- .obj文件格式与.mtl文件格式(转)
热门文章
- springboot代码生成器,一款经典版的java代码生成器
- mac 使用vmware funsion 挂载cdlinux跑wifi字典经历
- java有趣的平方数,蓝桥杯——四数平方(2016JavaB第7题)
- wps android 安装包下载地址,WPS Office手机版下载安装_WPS Office下载软件安卓版13.0.1...
- 商城项目(一) -- 项目简介、基础搭建及前端部分
- VASP、Lammps快速上手神器——MedeA软件
- ios android 宏,iOS常用宏(不断更新)
- C8051单片机在交流变频调速系统中的应用(收集)
- C语言——九九乘法表
- python 字体颜色_Python字体颜色设置