python3 第十二章 - 数据类型之List(列表)
Python内置的一种数据类型是列表:list。
- list是一种有序的集合
- 可以随时添加和删除其中的元素。
- 它可以作为一个方括号内的逗号分隔值出现。
- 列表的数据项不需要具有相同的类型
创建一个列表,只要把逗号分隔的不同的数据项使用方括号括起来即可。如下所示:
list1 = ['Google', 1997]
list2 = [1, 2, 3, 4, 5]
list3 = ["a", "b", "c", "d"]
与字符串的索引一样,列表索引从0开始。列表可以进行截取、组合等。
1、访问列表中的值
使用下标索引来访问列表中的值,同样你也可以使用方括号的形式截取字符,如下所示:
list1 = ['Google', 1997]
list2 = [1, 2, 3, 4, 5] print("list1[0]: ", list1[0])
print("list2[1:5]: ", list2[1:5])
以上代码,输出:
list1[0]: Google
list2[1:5]: [2, 3, 4, 5]
2、更新列表
你可以对列表的数据项进行修改或更新,如下所示:
list1 = ['Google', 1997]
print("list1的第2个元素是:", list1[1]) list1[1] = 'baidu'
print("更新后的第2个元素是:", list1[1])
以上代码,输出:
list1的第2个元素是: 1997
更新后的第2个元素是: baidu
你也可以使用append()方法来添加列表项:
list1 = ['Google', 1997]
print("原始的list1:", list1) list1.append("baidu")
print("添加一个元素后,的list1:", list1)
以上代码,输出:
原始的list1: ['Google', 1997]
添加一个元素后,的list1: ['Google', 1997, 'baidu']
3、删除列表元素
可以使用 del 语句来删除列表的的元素,如下实例:
list1 = ['Google', 1997]
print("原始的list1:", list1) del list1[1]
print("删除第二个元素后的list1:", list1)
以上代码,输出:
原始的list1: ['Google', 1997]
删除第二个元素后的list1: ['Google']
4、操作符
列表对 + 和 * 的操作符与字符串相似。+ 号用于组合列表,* 号用于重复列表。
如下所示:
| Python 表达式 | 结果 | 描述 |
|---|---|---|
| len([1, 2, 3]) | 3 | 长度 |
| [1, 2, 3] + [4, 5, 6] | [1, 2, 3, 4, 5, 6] | 组合 |
| ['Hi!'] * 4 | ['Hi!', 'Hi!', 'Hi!', 'Hi!'] | 重复 |
| 3 in [1, 2, 3] | True | 元素是否存在于列表中 |
| for x in [1, 2, 3]: print(x, end=" ") | 1 2 3 | 迭代 |
5、截取与拼接
列表截取与字符串操作类型,我们定义一个列表,如下:
language = ['c', 'c++', 'python']
print('读取第三个元素language[2]:',language[2])
print('从右侧开始读取倒数第二个元素language[-2]:',language[-2])
print('输出从第二个元素开始后的所有元素language[1:]:',language[1:])
以上代码,输出:
读取第三个元素language[2]: python
从右侧开始读取倒数第二个元素language[-2]: c++
输出从第二个元素开始后的所有元素language[1:]: ['c++', 'python']
6、嵌套列表
使用嵌套列表即在列表里创建其它列表,例如:
language = ['c', 'c++', 'python']
run = ['game', 'billiards']
roy =[language, run] print(roy)
以上代码,输出:
[['c', 'c++', 'python'], ['game', 'billiards']]
思考:上面嵌套列表 roy 中,如何用索引输出List中的所有元素?下面给出答案,但请尽可以在自行写出来之前不要查看:
language = ['c', 'c++', 'python']
run = ['game', 'billiards']
roy =[language, run] print(roy)
print() # 输出空行 print('roy里有两上元素:第一个元素为列表language,第二个元素为列表run')
print('那么,roy[0] 为 language,即:', roy[0])
print('那么,roy[1] 为 run,即:', roy[1])
print() # 输出空行 print('language中的第1项:', roy[0][0])
print('language中的第2项:', roy[0][1])
print('language中的第3项:', roy[0][2])
print() # 输出空行 print('run中的第1项:', roy[1][0])
print('run中的第2项:', roy[1][1])
python3 第十二章 - 数据类型之List(列表)的更多相关文章
- python3 第十四章 - 数据类型之Dictionary(字典)
在python中字典是另一种可变容器模型,且可存储任意类型对象. 字典的每个键值(key=>value)对用冒号(:)分割,每个对之间用逗号(,)分割,整个字典包括在花括号({})中 ,格式如下 ...
- python3 第二十二章 - 函数式编程之Decorator(装饰器)
前面我们说了,在python中,一切皆对象.函数也是一个对象,而且函数对象可以被赋值给变量,通过变量也能调用该函数.如: def sayHello(name): print(name + ' hell ...
- python3 第十五章 - 数据类型之Sets(集合)
python的官网里对集合的描述是: Python also includes a data type for sets. A set is an unordered collection with ...
- 《Linux命令行与shell脚本编程大全》 第二十二章 学习笔记
第二十二章:使用其他shell 什么是dash shell Debian的dash shell是ash shell的直系后代,ash shell是Unix系统上原来地Bourne shell的简化版本 ...
- 《Django By Example》第十二章 中文 翻译 (个人学习,渣翻)
书籍出处:https://www.packtpub.com/web-development/django-example 原作者:Antonio Melé (译者注:第十二章,全书最后一章,终于到这章 ...
- 《OpenCL异构并行编程实战》补充笔记散点,第五至十二章
▶ 第五章,OpenCL 的并发与执行模型 ● 内存对象与上下文相关而不是与设备相关.设备在不同设备之间的移动如下,如果 kernel 在第二个设备上运行,那么在第一个设备上产生的任何数据结果在第二个 ...
- 《Django By Example》第十二章(终章) 中文 翻译 (个人学习,渣翻)
书籍出处:https://www.packtpub.com/web-development/django-example 原作者:Antonio Melé (译者注:第十二章,全书最后一章,终于到这章 ...
- “全栈2019”Java第十二章:变量
难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java第 ...
- 进击的Python【第十二章】:mysql介绍与简单操作,sqlachemy介绍与简单应用
进击的Python[第十二章]:mysql介绍与简单操作,sqlachemy介绍与简单应用 一.数据库介绍 什么是数据库? 数据库(Database)是按照数据结构来组织.存储和管理数据的仓库,每个数 ...
随机推荐
- 小白的Python之路 day5 shelve模块讲解
shelve模块讲解 一.概述 之前我们说不管是json也好,还是pickle也好,在python3中只能dump一次和load一次,有什么方法可以向dump多少次就dump多少次,并且load不会出 ...
- 通用后台管理系统UI-AdminLTE:构造动态菜单栏
AdminLTE是一款基于bootstrap的后台管理系统的通用模板UI,它的样式美观且较为符合大多数后台管理系统的需求,典型的上|左右|下的布局形式.并且提供了一整套我们开发的时候可能用到的UI样式 ...
- islider结合react的简单实用
我用islider都是结合react来使用,主要运用在移动端,做首页轮播图,或者是手机图片预览,左右滑动 首先需要 npm install islider.js --save 让后在jsx文件头部引入 ...
- PostgreSQL查询优化器之grouping_planner
grouping_planner主要做了3个工作: 对集合进行处理 对非SPJ函数进行优化 对SQL查询语句进行物理优化 grouping_planner实现代码如下: static void gro ...
- 进入docker登录psql数据库对特定表进行操作
查看docker镜像 docker ps 运行镜像的脚本命令 docker exec -it 08 bash # 选择id为08开头的镜像运行bash 登录数据库 (1)直接登录 执行命令:psql ...
- Zabbix实战-简易教程(1)--总流程
序 玩zabbix已经几年了,一直想分享一些相关的使用经验和心得,但是总以各种借口而拖延,最近准备重新整理,记录一些实际工作环境中的示例,一方面希望能够帮助正在学习或者正在寻找这方面资料的朋友,另一方 ...
- SpringBoot中出现的错误
1.Field boy in com.huhu.SpringDemo.HelloController required a bean of type 'com.huhu.SpringBean.Boy' ...
- HttpClient 模拟发送Post和Get请求 并用fastjson对返回json字符串数据解析,和HttpClient一些参数方法的deprecated(弃用)的综合总结
最近在做一个接口调用的时候用到Apache的httpclient时候,发现引入最新版本4.5,DefaultHttpClient等老版本常用的类已经过时了,不推荐使用了:去官网看了一下在4.3之后就抛 ...
- 【转】Nginx SSL_PROTOCOL_ERROR 问题
转自:https://maoxian.de/2017/12/1471.html 这两天在检查一台 Nginx 配置的时候,遇到了一个极端诡异的问题.一段很通用的配置,配在这个服务器上,就会 100% ...
- html笔记2
html css的用法 <style type="text/css">代表我要使用css了 <html> <head> <style ty ...