python入门学习:3.操作列表
python入门学习:3.操作列表
关键点:列表
3.1 遍历整个列表3.2 创建数值列表3.3 使用列表3.4 元组
3.1 遍历整个列表
循环这种概念很重要,因为它是计算机自动完成重复工作的常见方式之一。下面使用for循环来遍历。
注意for循环的循环体可以包含多行代码,只需要保持缩进即可
1magicians = ['alice','david','carolina']
2for magician in magicians: #依次遍历magicians 将其值存入magician
3 print(magician)
4#打印值
5alice
6david
7carolina
3.2 创建数值列表
3.2.1 使用函数range()
python函数range()让你能够轻松的生成一系列数字。例如:
1for value in range(1,5): #生成一个从1开始到5结束的一个列表
2 print(value)
31
42
53
64
3.2.2 使用函数range()创建数字列表
要创建数字列表,可使用函数list()将range()的结果直接转换为列表。如果将range()作为list()的参数,输出将为一个数字列表。
1numbers = list(range(1,6))
2print(numbers)
3
4[1, 2, 3, 4, 5]
range()函数还可以指定步长。
1numbers = list(range(2,11,2)) #生成从2~11的数字列表,步长为2
2print(numbers)
3[2, 4, 6, 8, 10]
创建1~10的平方
1squares = [] #创建一个空列表
2for value in range(1,11): #依次创建1~10
3 square = value**2 #value*value
4 squares.append(square) #添加到列表
5print(squares)
6
7[1, 4, 9, 16, 25, 36, 49, 64, 81, 100]
3.2.3 对数字列表进行统计计算
计算最大值和最小值以及求和:
1digits = [1,2,3,4,5,6,7,8,9,0]
2min(digits)
30
4max(digits)
59
6sum(digits)
745
3.2.4 列表解析
前面介绍的生成列表的方式包含三四行代码,而列表解析让你只需要编写一行代码就可以生成同样的代码。列表解析将for循环和创建新元素的代码合并成一行,并自动附加新元素。
1squares = [value**2 for value in range(1,11)]
2print(squares)
3
在这个示例中,表达式为value**2,它计算平方值。接下来编写一个for循环,用于给表达式提供值,再加上右括号。注意,这里的for循环不加冒号
3.3 使用列表
3.3.1 切片
处理列表的部分元素,python称之为切片。要创建切片,可指定要使用的第一个元素的索引和最后一个元素的索引加1。
1players = ['charles','martina','florence','eli']
2print(players[0:3])
3
4['charles', 'martina', 'florence']
如果没有指出第一个索引,python将自动从列表开头开始提取
1players = ['charles','martina','florence','eli']
2print(players[:3])
3['charles', 'martina', 'florence']
终止列表末尾索引也可以省略
1players = ['charles','martina','florence','eli']
2print(players[2:])
3.3.2 遍历切片
如果要遍历列表的部分元素,可在for循环中使用切片。
1players = ['charles','martina','florence','eli']
2for player in players[:3]:
3 print(player.title())
3.3.3 复制列表
复制列表,可创建一个包含整个列表的切片,方法是同时省略起始索引和终止索引([:])
1my_foods = ['pizza','falafel','carrot cake']
2friend_foods = my_foods[:] #两份独立的列表,修改其中任意一个,对另外一个没有影响
3friend_foods = my_foods #将my_foods赋值给friend_foods,两个变量指向同一列表
4print(friend_foods)
3.4 元组
python将不能修改的值称为不可变的,不可变的列表称为元组。
3.4.1 定义元组
元组看起来犹如列表,但使用圆括号而不是方括号来标识。定义元组后,就可以使用索引来访问其元素,就像访问列表元素一样。
1dimensions = (200,50)
2print(dimensions[0])
3print(dimensions[1])
3.4.2 遍历元组中的所有值
通过for循环来遍历元组中所有值
1dimensions = (200,50)
2for dimension in dimensions:
3 print(dimension)
3.4.3 修改元组变量
虽然不能修改元组的元素,但可以给存储元组的变量赋值。
1dimensions = (200,50)
2print("Original dimensions:")
3for dimension in dimensions:
4 print(dimension)
5dimensions = (400,50) #重新定义元组的值
6print("\nModified dimensions:")
7for dimension in dimensions:
8 print(dimension)
python入门学习:3.操作列表的更多相关文章
- python入门学习:2.列表简介
python入门学习:2.列表简介 关键点:列表 2.1 列表是什么2.2 修改.添加和删除元素2.3 组织列表 2.1 列表是什么 列表,是由一系列按特定顺序排列的元素组成.你可以创建包含字母表 ...
- 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入门学习:6.用户输入和while循环
python入门学习:6.用户输入和while循环 关键点:输入.while循环 6.1 函数input()工作原理6.2 while循环简介6.3 使用while循环处理字典和列表 6.1 函数in ...
- 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入门篇-文件操作
Python入门篇-文件操作 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.文件IO常用操作 open:打开 read:读取 write:写入 close:关闭 readlin ...
- 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 变量的命名和使用 变量,顾名思义是一个可变的量, ...
随机推荐
- Java学习笔记之——继承
父类(基类):动物 子类:猫.狗.狼.老虎 如果子类继承于父类,则会自动拥有父类的所有非私有属性和方法,不会继承构造方法 父类和子类要满足一种关系:子类是父类的一种 Java中只支持单继承:一个子类只 ...
- linux 中的单引号 和双引号有什么区别吗
单引号与双引号的最大不同在于双引号仍然可以保有变量的内容,但单引号内仅能是一般字符 ,而不会有特殊符号.我们以底下的例子做说明:假设您定义了一个变量, name=VBird ,现在想以 name 这个 ...
- spring-framework-中文文档一:IoC容器、介绍Spring IoC容器和bean
5. IoC容器 5.1介绍Spring IoC容器和bean 5.2容器概述 本章介绍Spring Framework实现控制反转(IoC)[1]原理.IoC也被称为依赖注入(DI).它是一个过程, ...
- 中文代码示例之NW.js桌面应用开发初体验
先看到了NW.js(应该是前身node-webkit的缩写? 觉得该起个更讲究的名字, 如果是NorthWest之意的话, logo(见下)里的指南针好像也没指着西北啊)和Electron的比较文章: ...
- 如何用ABP框架快速完成项目(3) - 为什么要使用ABP和ABP框架简介
首先先讲为什么要使用ABP? 当然是因为使用ABP可以快速完成项目啦. 时间就是金钱, 效率就是生命嘛 有了ABP, 你就节省了写如下模块的时间: CRUD数据库基本操作 校验 异常处理 日志 权 ...
- 求二叉树第n层节点数
在知乎看到今日头条的一个面试题“求二叉树第n层节点数”:https://zhuanlan.zhihu.com/p/25671699,想到了这样一个解法,欢迎大家交流 我的解法采用递归的思想,从0层开始 ...
- python爬虫从入门到放弃(九)之 Requests+正则表达式爬取猫眼电影TOP100
import requests from requests.exceptions import RequestException import re import json from multipro ...
- Python笔记(十七):生成器
(一)生成器(Generator) Python生成器是创建迭代器的简单方法.简单来说,生成器是一个函数,它返回一个我们可以迭代的对象(迭代器)(一次一个值). 因为下面会用到列表生成式,这里先说明下 ...
- Cannot obtain the required interface ("IID_IDBCreateCommand") from OLE DB provider "OraOLEDB.Oracle" for linked server xxxx
今天遇到了一个关于LINKED SERVER查询报错的案例,链接服务器链接ORACLE数据库,测试没有错误,但是执行脚本的时候,报如下错误: Msg 7399, Level 16, State 1 ...
- 自动化测试基础篇--Selenium发送测试报告邮件
来自:https://www.cnblogs.com/sanzangTst/p/8377870.html 发邮件需要用到python两个模块,smtplib和email,这俩模块是python自带的, ...