Python3 列表
Python3 列表
列表是Python中最基本的数据结构,也是最常用的Python数据类型,它可以作为一个方括号内的逗号分隔值出现。列表中的每个元素都分配一个数字 - 那就是它的下标,或者说索引,第一个索引是永远是从0开始,第二个索引是1,依此类推。列表也被称之为序列,和数组的概念有点像,只不过一个列表中可以放不同类型的数据,类似于Java中的Object集合,所以列表的数据项不需要具有相同的类型,并且列表的大小可以自动伸缩,这一点和集合的概念一样的。 创建一个列表,只要把逗号分隔的不同的数据项使用方括号括起来即可。代码示例:
list1 = ['Google', 'Runoob', 1997, 2000];
list2 = [1, 2, 3, 4, 5 ];
list3 = ["a", "b", "c", "d"];
与字符串的索引一样,列表索引从0开始。列表可以进行截取、组合等。
访问列表中的值
使用下标索引来访问列表中的值,同样的你也可以使用方括号的形式截取列表中的元素,代码示例:
list1 = ['hello', 'world', 123, 456]
list2 = [1, 2, 3, 4, 5, 6, 7, 8, 9]
print("list1的第0个下标值是:", list1[0])
print("list2下标0-5以内的值是:", list2[0:5])
运行结果:
list1的第0个下标值是: hello list2下标0-5以内的值是: [1, 2, 3, 4, 5]
更新列表
你可以对列表的数据项进行修改或更新,所谓更新就是重新对这个列表中的某个下标赋值,重新赋值后会覆盖原来的值,代码示例:
list1 = ['hello', 'world', 123, 456]
print("list1的第0个下标值为:", list1[0])
list1[0]="你好"
print("更新之后list1的第0个下标值为:", list1[0])
运行结果:
list1的第0个下标值为: hello 更新之后list1的第0个下标值为: 你好
删除列表元素
可以使用 del 语句来删除列表的的元素,代码示例:
list1 = ['hello', 'world', 123, 456]
print("现在list1中的有元素有:",list1)
del list1[1]
print("删除第1个元素后有:",list1)
运行结果:
现在list1中的有元素有: [‘你好’, ‘world’, 123, 456] 删除第1个元素后有: [‘你好’, 123, 456]
列表脚本操作符
列表对 + 和 * 的操作符与字符串相似。+ 号用于组合列表,* 号用于重复列表。
list1 = ['hello', 'world', 123, 456]
#截取
print(list1[2])
print(list1[-2])
print(list1[1:])
运行结果:
456
123
[123, 456]
#拼接,只能在python控制台中使用
>>> list1 = ['hello', 'world', 123, 456]
>>> list1+[1, 2, 3, 4, 5, 6, 7, 8, 9]
['hello', 'world', 123, 456, 1, 2, 3, 4, 5, 6, 7, 8, 9]
二维列表
二维列表即是列表中还有列表,使用二维列表即在列表里创建其它列表,下面示例两种常用的二维列表声明方式,代码示例:
list1 = ['hello', 'world', 123, 456]
list2 = [1, 2, 3, 4, 5, 6, 7, 8, 9]
list3 = [list1, list2]
print(list3)
list4 = [['hello', 'world', 123, 456],[1, 2, 3, 4, 5, 6, 7, 8, 9]]
print(list4)
运行结果:
[[‘hello’, ‘world’, 123, 456], [1, 2, 3, 4, 5, 6, 7, 8, 9]] [[‘hello’, ‘world’, 123, 456], [1, 2, 3, 4, 5, 6, 7, 8, 9]]
二维列表使用的不多,一般大部分用来做2D游戏的地图
Python列表函数&方法
下面用实际代码演示几个较为常用的方法,代码示例:
list1 = ['hello', 'world', 123, 456, 123, 'hello']
list2 = [45, 12, 78, 56, 3, 2, 48, 78, 156, 45, 1]
list1.append('addObj')
print("在末尾添加了一个新的值:", list1)
list1.insert(2, 'InsertObj')
print("在下标2的位置插入了一个新的值:", list1)
print("123这个值的第一个索引位置:", list1.index(123))
list1.remove('hello')
print("删除了列表中第一个‘hello’:", list1)
list2.sort()
print("排序后的list2:", list2)
list2.reverse()
print("反向排序后的list2:", list2)
list3 = list1.copy()
print("将list1的数据复制到list3中:", list3)
list3.clear()
print("清空list3中的数据:", list3)
运行结果:
在末尾添加了一个新的值: [‘hello’, ‘world’, 123, 456, 123, ‘hello’, ‘addObj’] 在下标2的位置插入了一个新的值: [‘hello’, ‘world’, ‘InsertObj’, 123, 456, 123, ‘hello’, ‘addObj’] 123这个值的第一个索引位置: 3 删除了列表中第一个‘hello’: [‘world’, ‘InsertObj’, 123, 456, 123, ‘hello’, ‘addObj’] 排序后的list2: [1, 2, 3, 12, 45, 45, 48, 56, 78, 78, 156] 反向排序后的list2: [156, 78, 78, 56, 48, 45, 45, 12, 3, 2, 1] 将list1的数据复制到list3中: [‘world’, ‘InsertObj’, 123, 456, 123, ‘hello’, ‘addObj’] 清空list3中的数据: []
- 0基础教你搭建一套可自动化构建的微服务框架(SpringBoot+Dubbo+Docker+Jenkins)
- 柴毛毛大话设计模式——开发常用的设计模式梳理
- Redis源码分析(四)——Redis数据结构-整数集合
- Redis源码分析(三)——Redis数据结构-字典
- Redis源码分析(二)——Redis数据结构-链表
- C++实现神经网络之一 | Net类的设计和神经网络的初始化
- Redis源码分析(一)——Redis数据结构-字符串SDS
- 使用RNN预测股票价格系列二
- 微软 WCF的几种寄宿方式,寄宿IIS、寄宿winform、寄宿控制台、寄宿Windows服务
- 深度学习框架之一:Theano | Lasagne简单教程
- 有趣的应用 | 使用RNN预测股票价格系列一
- 通过深度学习实现安全帽佩戴的检测
- python及numpy,pandas易混淆的点
- 深度学习中的损失函数总结以及Center Loss函数笔记
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 利用python下载scihub成文献为PDF操作
- PHP中的Iterator迭代对象属性详解
- 使用Python实现微信拍一拍功能的思路代码
- Laravel5.7 Eloquent ORM快速入门详解
- 微信公众号用户与网站用户的绑定解决方案分析
- laravel使用Faker数据填充的实现方法
- PHP开发实现快递查询功能详解
- Laravel5.7 数据库操作迁移的实现方法
- PHP7引入的"??"和"?:"的区别讲解
- Python自动化操作实现图例绘制
- ThinkPHP5.0框架使用build 自动生成模块操作示例
- PHP远程连接oracle数据库操作实现方法图文详解
- 微信公众平台开发教程②微信端分享功能图文详解
- 微信公众平台开发教程⑥ 微信开发集成类的使用图文详解
- keras分类之二分类实例(Cat and dog)