IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Python知识库 -> Python基础(三)——列表,元组,字典 -> 正文阅读

[Python知识库]Python基础(三)——列表,元组,字典

一.列表

1.1 什么是列表

列表是一种有序的,可变的数据结构。列表由元素构成,每个元素对应一个下标(index),元素可以为任何类型。

列表嵌套会形成矩阵(二维数组)

1.2 列表如何定义及特性

[]包住,元素间用 , 隔开

属于可变类型,支持增删改查,查看长度

#创建空列表
list_test = list() #或者list_test = []
#添加元素
list_test.append('hello')
list_test.append(10)
list_test.append([1,2,3])
list_test.append(66)
print(list_test)
#插入元素
list_test.insert(1,100) #参数分别为插入的位置,插入的值
print(list_test)
#修改元素
list_test[2] = 66
list_test[0:2] = ['xinxin',0] #如果插入的数量大于切片,会继续顺延
print(list_test)
#查找元素
print(list_test[3])
print(list_test[0:3])
#删除元素
list_test.pop(1)  #基于下标删除,参数值为下标,默认删除最后一个。会返回删除的值
list_test.remove(66) #基于数据值删除,但是只匹配查找到的第一个值
del list_test[1:2]  #基于索引位置删除
list_test.clear()  # 清空整个列表
print(list_test)
del list_test #删除列表

1.3列表常用操作

1.3.1 列表合并

两种方法:
1.利用+合并,实际是赋值给新变量
2.利用extend,这个方法直接改变了原列表

list_1 = [1,2,3,4]
list_2 = [5,6,7,8,9]
list_join = list_1 + list_2
print(list_join)
list_1.extend(list_2)
print(list_1)

1.3.2 列表排序

正序:sort()倒序:sort(reverse = True)
临时排序:sorted(),不会改变原列表

list_1 = [1,100,300,4]
list_1.sort(reverse = True)
print(list_1)

1.3.3 列表反转

list_1 = ['我','爱','你']
list_1.reverse()
print(list_1)

1.3.4 列表元素数量统计

统计元素出现的个数

list_2 = [5,6,7,6,8,6,9]
print(list_2.count(6))

1.3.5自身复制

list_2 = [5,6,7,6,8,6,9]
new_list_2 = list_2 * 2
print(new_list_2)

1.3.6 列表长度

list_2 = [5,6,7,6,8,6,9]
print(len(list_2))

1.3.7列表复制

分位浅复制深复制
深复制需引入copy库

#浅复制
list_old = [[1,2,3],[4,5,6]]
list_shallow = list_old.copy()
print(id(list_old))
print(id(list_shallow))
print(id(list_old[0]))
print(id(list_old[0]))

#执行结果
140684084155968
140684084155840
140684085061056
140684085061056
我们会发现最外层确实复制了,新列表分配了新的地址。但是内层列表地址还是相同的
#深复制
import copy
list_old = [[1,2,3],[4,5,6]]
list_deep = copy.deepcopy(list_old)
print(id(list_old))
print(id(list_deep))
print(id(list_old[0]))
print(id(list_deep[0]))
#运行结果
140150716196736
140150716196096
140150716026048
140150716196800
内外层地址都不同

1.3.8内部元素处理

#元素合并
list_join = ['I','love','you']
print(' '.join(list_join))      #引号内是连接方式

#元素拆分
list_split = ['你好,我是名学生,我正在学习Python']
new_list = list_split[0].split(',')  #引号内是分割方式
print(new_list)

#去掉重复元素
list_1 = [1,2,3,4,5,1,5,3,2]
print(set(list_1))

1.3.9 列表解析

将想要新生成的数据代码和for循环写在一起

list_1 = [value*2 for value in range(1,11)]
print(list_1)

二.元组

2.1 什么是元组

与列表类似,但是内部值不可更改,也就不支持增删改。用()包住

创建只有一个元素的元组时,要在第一个元素后面加一个逗号
支持不加括号创建
需要改元组数据时,可以转换为列表操作

2.2 元组列表对比

对比图元组优点:

  • 大型数据处理速度快
  • 对数据有保护功能
  • 当函数返回多个值时,一般以元组方式返回

三.字典

3.1 什么是字典

储存具有一系列映射关系的数据结构,映射关系称为键值对(key:value),在pytohn中称item,全部键值对就是items
{}包住,键值对间逗号隔开

test = {'name':'xinxin','age':20}

3.2字典特性

2不准:不准改变键,键不准重复
4支持:增删键和值,基于键改变值,基于键查询
2注意:只能使用不可变类型作为键;通常不使用数字作为键

3.3创建方法

dict_1 = dict()
dict_2 = dict{}
dict_3 = {'name':'xinxin','age':20}
dict_4 = dict({'name':'xinxin','age':20})
dict_5 = dict(name='mike',age=20)

基于列表建立字典

keys = ['姓名','年龄','祖籍']
new_dict = dict.fromkeys(keys,可以设置值,不设置默认none)
print(new_dict)

3.4增删改查

dict_1 = {'name':'xinxin','age':20}
#增加数据
dict_1['gender'] = '男'
print(dict_1)
#修改数据
dict_1['age'] = '22'
print(dict_1)
#查询数据
dict_1['name']
dict_1.get('name')  #没找到会返回None
#删除数据
del dict_1['gender']
print(dict_1)
dict_1.pop('age')  #必须有参数
print(dict_1)
dict_1.clear()  #清空字典
print(dict_1)

3.5常用操作

3.5.1 返回字典的键值对,键,值

#返回键值对
dict_1 = {'name':'xinxin','age':20}
for k,v in dict_1.items():
    print(k,v)

#返回键
dict_1 = {'name':'xinxin','age':20}
for k in dict_1.keys():
    print(k)

#返回值
dict_1 = {'name':'xinxin','age':20}
for v in dict_1.values():
    print(v)

3.5.2 字典合并

dict_1 = {'name':'xinxin','age':20}
dict_2 = {'name':'Jane','age':20,'gender':'女'}
dict_1.update(dict_2)
print(dict_1)

有重复的key,就会更新key值,没有就会添加

3.5.3 查询键,不存在则添加

dict_1 = {'name':'xinxin','age':20}
print(dict_1.setdefault('gender',可设置值))
  Python知识库 最新文章
Python中String模块
【Python】 14-CVS文件操作
python的panda库读写文件
使用Nordic的nrf52840实现蓝牙DFU过程
【Python学习记录】numpy数组用法整理
Python学习笔记
python字符串和列表
python如何从txt文件中解析出有效的数据
Python编程从入门到实践自学/3.1-3.2
python变量
上一篇文章      下一篇文章      查看所有文章
加:2021-07-10 14:30:21  更:2021-07-10 14:31:22 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/3 22:35:41-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码