python入门学习:2.列表简介
python入门学习:2.列表简介
关键点:列表
2.1 列表是什么2.2 修改、添加和删除元素2.3 组织列表
2.1 列表是什么
列表,是由一系列按特定顺序排列的元素组成。你可以创建包含字母表中所有字母、数字0~9或所有家庭成员姓名的列表;也可以将任何东西加入列表中,其中元素之间可以没有任何关系。
在python中,用方括号[]来表示列表,并用逗号来分割其中的元素。
1bicycles = ['trek','cannondale','redline','specialized']
2print(bicycles)
2.1.1 访问列表元素
python访问列表元素和c语言中数组类似,类似数组名下标访问方式,通过列表变量名加索引也可以访问指定位置的元素。
1bicycles = ['trek','cannondale','redline','specialized']
2print(bicycles[0])
2.2.2 索引从0开始而不是1
在python中第一个列表元素的索引为0,而不是1.在大多数编程语言中都是如此,这与列表操作的底层实现相关。
1bicycles = ['trek','cannondale','redline','specialized']
2print(bicycles[1])
3print(bicycles[3])
2.2 修改、添加和删除元素
2.2.1 修改列表元素
修改列表元素的语法与访问列表元素的语法类似。要修改列表元素,可指定列表名和要修改的元素的索引,再指定该元素的新值。
1motorcycles = [ 'honda','yamaha','suzuki']
2print(motorcycles)
3motorcycles[0] = 'ducati'
4print(motorcycles)
2.2.2 在列表中添加元素
- 在列表末尾添加元素
在列表中添加元素时,最简单的方式是将元素附加到列表末尾。在列表末尾添加元素通过方法append
1motorcycles = [ 'honda','yamaha','suzuki']
2print(motorcycles)
3motorcycles .append('ducati')
4print(motorcycles)
- 在列表中插入元素
1. 使用del语句删除元素(给出删除元素的位置)
1motorcycles = [ 'honda','yamaha','suzuki']
2print(motorcycles)
3del motorcycles[0]
4print(motorcycles)
2. 使用方法pop()删除元素
方法pop()可删除列表末尾的元素,并让你能够接着使用它。术语弹出(pop)源自这样的类比:列表就像一个栈,而删除列表末尾的元素相当于弹出栈顶元素。
1motorcycles = [ 'honda','yamaha','suzuki']
2print(motorcycles)
3pop_motorcycles = motorcycles.pop()
4print(motorcycles)
5print(pop_motorcycles )
6#打印
7['honda', 'yamaha', 'suzuki']
8['honda', 'yamaha'] #弹出后的新列表
9suzuki #弹出的值存入pop_motorcycles
3. 弹出列表中的任何位置处的元素
通过pop()来删除列表中任何位置的元素,只需要在括号中指定要删除的元素索引即可。
1motorcycles = [ 'honda','yamaha','suzuki']
2print(motorcycles)
3#弹出motorcycles[0]
4pop_motorcycles = motorcycles.pop(0)
4. 根据值删除元素。
如果你不知道要从列表中删除的值所处的位置,只知道要删除的元素的值,可使用remove(),方法remove只能删除第一个指定的值,如果要删除的值可能在列表出现多次,就需要多次删除。
1motorcycles = [ 'honda','yamaha','suzuki']
2print(motorcycles)
3motorcycles.remove('ducati')
4print(motorcycles)
2.3 组织列表
2.3.1 使用sort()对列表进行永久性排序
python方法sort()让你对列表轻松的排序。下面按字母排序
1cars = ['bmw','audi','toyota','subaru']
2#正向排序
3cars.sort()
4print(cars)
5
6['audi', 'bmw', 'subaru', 'toyota']
7#反向排序
8cars.sort(reverse = True)
9print(cars)
10
11['toyota', 'subaru', 'bmw', 'audi']
2.3.2 使用sorted()对列表进行临时排序
要保留例变元素原来的顺序,同时以特定的顺序呈现它们,可以使用函数sorted()。函数sorted()让你能够按特定的顺序显示列表元素,同时不影响它们在列表中原始排列顺序。
1cars = ['bmw','audi','toyota','subaru']
2
3print("here is the original list:")
4print(cars)
5
6print("\nhere is the secoend list:")
7print(sorted(cars)) #cars 结构不变
8
9print("\nhere is the original list again:")
10print(cars)
2.3.3 倒序打印列表
反转列表使用方法reverse(),反转元素的排列顺序
1cars = ['bmw','audi','toyota','subaru']
2print(cars)
3cars.reverse()
4print(cars)
2.3.4 确定列表长度
使用len()快速获取列表的长度。
1cars = ['bmw','audi','toyota','subaru']
2print(len(cars))
3
44
python入门学习:2.列表简介的更多相关文章
- 【Python入门学习】列表生成和函数生成器的方式实现杨辉三角
列表生成: L = [i for i in range(10)] 列表生成器: g = (i for i in range(10)) 函数生成器使用的关键字yield实现 例如fib生成器 def f ...
- python入门学习:3.操作列表
python入门学习:3.操作列表 关键点:列表 3.1 遍历整个列表3.2 创建数值列表3.3 使用列表3.4 元组 3.1 遍历整个列表 循环这种概念很重要,因为它是计算机自动完成重复工作的常 ...
- python入门学习:6.用户输入和while循环
python入门学习:6.用户输入和while循环 关键点:输入.while循环 6.1 函数input()工作原理6.2 while循环简介6.3 使用while循环处理字典和列表 6.1 函数in ...
- python入门学习:9.文件和异常
python入门学习:9.文件和异常 关键点:文件.异常 9.1 从文件中读取数据9.2 写入文件9.3 异常9.4 存储数据 9.1 从文件中读取数据 9.1.1 读取整个文件 首先创建一个pi_ ...
- python入门学习:7.函数
python入门学习:7.函数 关键点:函数 7.1 定义函数7.2 传递实参7.3 返回值7.4 传递列表7.5 传递任意数量的实参7.6 将函数存储在模块中 7.1 定义函数 使用关键字def ...
- python入门学习:5.字典
python入门学习:5.字典 关键点:字典 5.1 使用字典5.2 遍历字典5.3 嵌套 5.1 使用字典 在python中字典是一系列键-值对.每个键都和一个值关联,你可以使用键来访问与之相关 ...
- python入门学习:4.if语句
python入门学习:4.if语句 关键点:判断 4.1 一个简单的测试4.2 条件测试4.3 if语句 4.1 一个简单的测试 if语句基本格式如下,注意不要漏了冒号 1if 条件 :2 ...
- python入门学习:8.类
python入门学习:8.类 关键点:类 8.1 创建和使用类8.2 使用类和实例8.3 继承8.4 导入类 8.1 创建和使用类 面向对象编程是最有效的软件编写方法之一.在面向对象编程中,你编写 ...
- Python入门学习:1.变量和简单的数据类型
python入门学习:1.变量和简单的数据类型 关键点:变量.字符串.数字 1.1 变量的命名和使用1.2 字符串1.3 数字1.4 注释 1.1 变量的命名和使用 变量,顾名思义是一个可变的量, ...
随机推荐
- vim 学习笔记系列(前言)
今天上午的时候,看到大神在用vim编程,画面直观,速度很快,操作只需要用命令符就可以实施. 所以可以推断vim的命令符是复杂的,那么学习过程中记忆会很漫长,很痛苦,但是如果记住了这些命令符,并可以熟练 ...
- Fundebug能够捕获这些BUG
摘要:Fundebug的JavaScript监控插件更新至0.1.0,可以监控3种不同类型的前端BUG:JavaScript执行错误.资源加载错误.HTTP请求错误. 从简单的onerror开始,Fu ...
- 亲测:LNMP环境下,解决项目缓冲慢、502以及配置https的问题
在做的项目在nginx下访问缓冲时间过长,明显比apache下访问蛮11倍有余, 解决办法: 1增加nginx的upstream,其中upstream中为php-cgi的地址: 2利用nginx作为反 ...
- Angular6+ng-zorro实现登录页面
一.效果图 二.html代码 <div class="login-container"> <div class="login-box"> ...
- C# 任务 数据加载不影响其他操作
private void button1_Click(object sender, EventArgs e) { //this.timer1.Enabled = true; Task t1 = new ...
- 三星450R5J windows8.1系统重装小结
本人一台三星450R5J,到今年也差不多五六年了.虽然颜值很高,但是用久了真的不行,毕竟是属于商务型笔记本,这里我就不晒配置了. 比较一下四五年前的三星与现在使用的华硕,三星看起来更鲜. 准 ...
- <自动化测试方案书>方案书目录排版
自动化测试方案书 一.介绍 QQ交流群:585499566 这篇是一个系列,用来给需要做自动化测试方案的人做个参考,文章的内容是我收集网上和自己工作经验所得,希望能够给你们有所帮助 背景:因为工作需要 ...
- C#:关于C#4中IEnumerable<out T>的理解
IEnumerable<out T>这个接口非常常见,它是最基础的泛型集合接口,表示可迭代的项的序列. 但是奇怪的是为什么泛型参数要带一个“out”? 经过一番资料查阅后,发现此“out” ...
- android默认开启adb调试方法分析
用adb调试android时,每次接入usb线,都会提示一个确认打开usb调试功能的窗口,有时候,我们需要默认打开usb调试功能.或者无需弹出对话框,直接默认开启.这个我们需要分析adb的流程了. a ...
- python之模块使用
1.入口 """ 模块测试入口 """ import show_message as sm # 导入方式一 sm.show(sm.__nam ...