专栏介绍:

本专栏为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】基本数据类型内置方法相关推荐

  1. python全栈开发基础【第十七篇】面向对象反射和内置方法

    一.静态方法(staticmethod)和类方法(classmethod) 类方法:有个默认参数cls,并且可以直接用类名去调用,可以与类属性交互(也就是可以使用类属性) 静态方法:让类里的方法直接被 ...

  2. python全栈开发百度云_老男孩2020最新Python全栈开发基础班+就业班

    |- 数据结构+算法.rar - 485.30 MB |- 串讲.rar - 2.01 GB |- 补充资料.rar - 536.00 MB |- MongoDB.rar - 110.10 MB |- ...

  3. 巨蟒python全栈开发-第11阶段 ansible_project2

    一个NB的网站: https://www.toolfk.com/ CDN:将用户的需求送到最近的节点:内容分发网络 有些是专门做CDN的工具 常用的markdown是需要知道的,短信有字数限制. we ...

  4. 巨蟒python全栈开发-第11阶段 ansible_project1

    今日大纲: 1.前端页面介绍 2.发布流程 3.需求分析 4.表结构设计 5.前端页面设计 昨日内容回顾: 1.roles - tasks- handlers- files- templates- v ...

  5. python全栈开发基础学习过程笔记【18d】os模块

    os模块调用操作系统,对文件和文件夹进行操作 1.头文件 impoet os 2os.getcwd() 作用:当前脚本工作的目录路径 print(os.getcwd()) 输出: ========== ...

  6. python全栈开发基础【第二十三篇】线程

    一.什么是线程 线程:顾名思义,就是一条流水线工作的过程,一条流水线必须属于一个车间,一个车间的工作过程是一个进程 所以,进程只是用来把资源集中到一起(进程只是一个资源单位,或者说资源集合),而线程才 ...

  7. Python 全栈开发基础

    python面向对象 python异常处理 python网络编程 python并发编程 临时目录 转载于:https://www.cnblogs.com/fixdq/p/8883304.html

  8. python全栈开发基础【补充】包的补充

    1.包A和包B下有同名模块也不会冲突,因为A.a与B.a来自俩个命名空间 2.常见目录结构 # 创建目录代码 import os os.makedirs('glance/api') os.makedi ...

  9. python 全栈开发,Day43(python全栈11期月考题)

    python 全栈开发,Day43(python全栈11期月考题) python全栈11期月考题 1.常用字符串格式化有哪些?并说明他们的区别 2.请手写一个单例模式(面试题) 3.利用 python ...

  10. python 全栈开发,Day32(知识回顾,网络编程基础)

    python 全栈开发,Day32(知识回顾,网络编程基础) 一.知识回顾 正则模块 正则表达式 元字符 :. 匹配除了回车以外的所有字符\w 数字字母下划线\d 数字\n \s \t 回车 空格 和 ...

最新文章

  1. Linux:echo、read、cat命令
  2. Selenium之鼠标和键盘操作及扩展
  3. RabbitMQ(七):常用方法说明 与 学习小结
  4. php 精度计算问题
  5. webservice发布
  6. C# aspx页面动态加载ascx用户控件 及 利用反射调用其内方法
  7. 计算机技术Control,聚变控制计算机 (Fusion Control Computer)
  8. nodejs总结之redis模块
  9. token详解及常见防范措施
  10. SQL像数组一样处理字符串、分割字符串(标量值函数[用户自定义函数])
  11. RocketMQ 下载、安装与 单机启动
  12. 如何在EdrawMax中同时画有箭头和没箭头的直线
  13. 利用navicat 进行 mysql建表语句转oracle建表语句
  14. 可替换MPS MP2451的高压DCDC芯片FS2451助力智能电表设计40V0.5A降压IC
  15. SMARTS决策引擎:实时决策分析
  16. 软件测试周刊(第24期):最不重要的素质就是智商
  17. 软件测试工程师要具备哪些从业技能?
  18. element UI的带输入建议el-autocomplete总结(详细,全)
  19. 使用LASSO进行全基因组关联分析
  20. .obj文件格式与.mtl文件格式(转)

热门文章

  1. springboot代码生成器,一款经典版的java代码生成器
  2. mac 使用vmware funsion 挂载cdlinux跑wifi字典经历
  3. java有趣的平方数,蓝桥杯——四数平方(2016JavaB第7题)
  4. wps android 安装包下载地址,WPS Office手机版下载安装_WPS Office下载软件安卓版13.0.1...
  5. 商城项目(一) -- 项目简介、基础搭建及前端部分
  6. VASP、Lammps快速上手神器——MedeA软件
  7. ios android 宏,iOS常用宏(不断更新)
  8. C8051单片机在交流变频调速系统中的应用(收集)
  9. C语言——九九乘法表
  10. python 字体颜色_Python字体颜色设置