list所有元素相加 python_Python基础入门笔记:列表、元组(阿里云天池)
9
9
今日主要内容:列表、元组
列表
简单的数据类型:
整型
浮点型
布尔型
容器数据类型:
列表
元组
字典
集合
字符串
1. 列表的定义
列表是有序集合,没有固定的大小,能够保存任意数量任意类型的Python对象,语法为[元素1,元素2,…,元素n]
· 关键点是 中括号[] 和 逗号,
· 中括号 把所有元素绑在一起
· 逗号 将每个元素一一分开
2. 列表的创建
· 创建一个普通列表 x=[元素1,元素2,…,元素n]
· 利用range()创建列表
· 利用推导式创建列表
【注】由于list的元素可以是任何对象,因此列表中所保存的是对象的指针。即使保存一个简单的[1,2,3],也有3个指针和3个整数对;x=[a]*4操作中,只是创建4个指向list的引用,所以一旦a改变,x中的4个a也会随之改变。
· 创建一个混合列表
· 创建一个空列表
列表不像元组,列表内容可更改(mutable),因此附加(append,extend)插入(insert)、删除(remove、pop)这些操作都可以用在它身上。
3. 向列表中添加元素
list.append(obj) 在列表末尾添加新的对象,只接受一个参数,参数可以是任何数据类型,被迫追加的元素在list中保持着原结构类型。
此元素如果是一个list,那么这个list将作为一个整体进行追加,注意append()和extend()的区别。
list.extend(seq) 在末尾一次性追加另一个序列中的多个值(用新列表扩展原来的列表)
严格来说append是追加,把一个东西整体添加在列表后,而extend是扩展,把一个东西里的所有元素添加在列表后。
list.insert(index,obj) 在编号index位置插入obj。
4. 删除列表中的元素
list.remove(obj) 移除列表中某个值的第一个匹配项。
list.pop([index=-1]) 移除列表中的一个元素(默认最后一个元素),并且返回该元素的值。
remove和pop都可以删除元素,前者是指定具体要删除的元素,后者是指定一个索引。
del var1[,var2 ……] 删除单个或多个对象(已知元素在列表中的位置的情况下)。
如果要从列表中删除一个元素,且不在以任何方式使用它,就使用del语句;如果要在删除元素后还继续使用它,就使用方法pop()
5. 获取列表中的元素
通过元素的索引值,从列表中获取单个元素,注意,列表索引值是从0开始的。
通过将索引值指定为-1,可让Python返回最后一个列表元素,索引-2返回倒数第二个列表元素,依此类推。
切片的通用写法是 start : stop : step
情况1-“start:”
以step为1(默认)从编号start往列表尾部切片。
情况2-“:stop”
以step为1(默认)从列表头部往编号stop切片。
情况3-“start:stop”
以step为1(默认)从编号start往编号stop切片。
情况4-“start:stop:step”
以具体的step从编号start往编号stop切片。注意最后把step设为-1,相当于将列表反向排列。
情况5-“:”
复制列表中的所有元素(浅拷贝)
6. 列表的常用操作符
等号操作符:==
连接操作符 +
重复操作符 *
成员关系操作符 in、 not in
等号== 只有成员、成员位置都相同时才返回True。
列表拼接有两种方式,用 加号+ 和 乘号* ,前者首尾拼接,后者复制拼接。
前面三种方法(append,extend,insert)可对列表增加元素,他们没有返回值,是直接修改了原数据对象。而将两个list相加,需要创建新的list对象,从而需要消耗额外的内存,特别是当list较大时,尽量不要使用“+”来添加list。
7. 列表的其它方法
list.count(obj) 统计某个元素在列表中出现的次数。
list.index(x[,start[,end]]) 从列表中找出某个值第一个匹配项的索引位置。
list.reverse() 反向列表中的元素。
list.sort(key=None,reverse=False) 对原列表进行排序。
key——主要是用来进行比较的元素,只有一个参数,具体的函数的参数就是取自于可迭代对象中,指定可迭代对象中的一个元素来进行排序。
reverse——排序规则,reverse=True降序,reverse=False升序(默认)。
该方法没有返回值,但是会对列表的对象进行排序。
元组
元组 定义语法为:(元素1,元素2,……,元素n)
小括号把所有元素绑在一起
逗号将每个元素一一分开
1. 创建和访问一个元组
Python的元组与列表类似,不同之处在于tuple被创建后就不能对其进行修改,类似字符串。
元组使用小括号,列表使用方括号。
元组与列表相似,也是用整数来对它进行索引(indexing)和切片(slicing)。
创建元组可以使用小括号(),也可以什么都不用,为了可读性,建议还是用()。
元组中只包含一个元素时,需要在元素后面添加逗号,否则括号会被当作运算符使用。
2. 更新和删除一个元组
元组有不可更改(immutable)的性质,因此不能直接给元组的元素赋值,但是只要元组中的元素可更改(mutable),那么我们可以直接更改其元素,注意这与赋值其元素不同。
3. 元组相关的操作符
等号操作符:==
连接操作符 +
重复操作符 *
成员关系操作符 in、 not in
等号== 只有成员、成员位置都相同时才返回True。
元组拼接有两种方式,用 加号+ 和 乘号* ,前者首尾拼接,后者复制拼接。
4. 内置方法
元组大小和内容都不可更改,因此只有count和index两种方法。
count('python') 是记录在元组t中该元素出现几次
index(10.31) 是找到该元素在元组t的索引
5. 解压元组
解压(unpack)一维元组(有几个元素左边括号定义几个变量)
解压二维元组(按照元组里的元组结构来定义变量)
如果只想要元组中的其中几个元素,用 通配符 * ,英文叫 wildcard,在计算机语言中代表一个或多个元素,下例就是把多个元素丢给了 rest 变量。
如果根本不在乎rest变量,可直接用 通配符* 加上 下划线_。
list所有元素相加 python_Python基础入门笔记:列表、元组(阿里云天池)相关推荐
- Python基础入门(中)--阿里云天池龙珠计划python训练营
一.学习内容概况 学习地址:天池龙珠计划python训练营 今天主要学习到的内容有: 列表 元祖 字符串 字典 集合 序列 二.具体学习内容 1.列表 简单数据类型 整型<class 'int' ...
- Python基础入门:条件语句--阿里云天池
一.条件语句 if 语句 if expression: expr_true_suite if 语句的 expr_true_suite 代码块只有当条件表达式 expression 结果为真时才执行,否 ...
- Python基础入门:Task4(day10)Python入门(口袋妖怪数据集探索)--阿里云天池
Task4 day10 口袋妖怪数据集探索 1.主要函数解释 info() 用于快速浏览数据集信息,行列信息等 df.info()'''<class 'pandas.core.frame.Dat ...
- Python基础入门笔记(二)
前言 本文主要为 Python基础入门笔记(一)内容的补充. 一.迭代器和生成器 1.1 Python迭代器 迭代器是一个可以记住遍历的位置的对象. 迭代器对象从集合的第一个元素开始访问,直到所有的元 ...
- 11岁过python1级_11岁表弟写的Python零基础入门笔记!
一.Python输入与输出输出:使用print()函数. print()函数的基本语法格式如下:print(输出内容). 输出内容可以是数字和字符串(字符串需要用引号括起来),也可以是包含运算符的表达 ...
- Object-C基础入门笔记(一)
OC基础入门笔记之一 // // main.m // oc // // Created by lujun on 2020/9/20. // Copyright © 2020 lujun. All ri ...
- 【Python3零基础入门笔记】05 Python时间处理——time库的使用
time库的使用: time库基本情况 时间获取 时间格式化 程序计时 文本进度条实例 time库基本情况 Time库是python中处理时间的标准库 计算机时间表达 提供获取系统时间并格式化输出功能 ...
- Android Studio 基础入门笔记
Android Studio 基础入门笔记 Android Studio 基础入门笔记 为什么选择使用 Android Studio 而不是EclipseADT 安卓配置JDK AS如何更新 常规的 ...
- Java基础入门笔记2
Java基础入门笔记2 一. 为什么把程序出错叫做"BUG"? 1. 原因是臭虫或者虫子,现在用来指代电脑系统或者程序中隐藏的一些漏洞或者一些问题,所以现在程序出问题就叫" ...
最新文章
- Leangoo自定义字段
- Windows Tips--How do I disable the Windows Firewall service?
- http传输html图片方式,http怎么样传输图片?二进制流还是base64编码
- 8086内存分段理解
- 类CL_ABAP_TYPEDESCR,动态取得运行时类型
- 【Pandas】apply,applymap和map的区别
- 云炬Android开发笔记 5-1,2网络框架接口创建
- Introduction to ES6上课笔记
- 消息中间件Client模块划分
- 信息学奥赛一本通 1344:【例4-4】最小花费 | 洛谷 P1576 最小花费
- ubutnu 下SVN 提交时忽略某些文件或文件夹
- 被薅秃了!元气森林:损失近千万元 将为14.05万下单用户每人寄一箱白桃气泡水...
- 现在入坑 AI 太迟?这些程序员发现了掘金新出路
- 水利水电专业英语(2.5k行超全)
- mysql查询同时选修了两门_查找同时选修了C01及C02两门课程的学生姓名及学号
- extmail 发送邮件附件大小限制修改
- 运行matlab报错 Runtime Error
- 力扣 2104. 子数组范围和
- Flutter中的Isolate的个人理解
- unity Inspector
热门文章
- (转)CSS书写规范、顺序
- MySQL 一个连接对应一个数据库
- 模板插件aTpl.js新增功能
- RemoteIE 开发者可跨平台使用IE测试网页
- 自适应后的页面用户点击后会放大
- 春节英语祝福【中英文对照】
- 一步一步SharePoint 2007之三十一:实现文档Event Handler(3)——附加Handler程序
- 几道MySQL索引相关的重点面试题
- tcp三次握手和syn 洪水攻击
- 第一章 基础设施,1.3 阿里视频云ApsaraVideo是怎样让4000万人同时狂欢的(作者:蔡华)...