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基础入门笔记:列表、元组(阿里云天池)相关推荐

  1. Python基础入门(中)--阿里云天池龙珠计划python训练营

    一.学习内容概况 学习地址:天池龙珠计划python训练营 今天主要学习到的内容有: 列表 元祖 字符串 字典 集合 序列 二.具体学习内容 1.列表 简单数据类型 整型<class 'int' ...

  2. Python基础入门:条件语句--阿里云天池

    一.条件语句 if 语句 if expression: expr_true_suite if 语句的 expr_true_suite 代码块只有当条件表达式 expression 结果为真时才执行,否 ...

  3. Python基础入门:Task4(day10)Python入门(口袋妖怪数据集探索)--阿里云天池

    Task4 day10 口袋妖怪数据集探索 1.主要函数解释 info() 用于快速浏览数据集信息,行列信息等 df.info()'''<class 'pandas.core.frame.Dat ...

  4. Python基础入门笔记(二)

    前言 本文主要为 Python基础入门笔记(一)内容的补充. 一.迭代器和生成器 1.1 Python迭代器 迭代器是一个可以记住遍历的位置的对象. 迭代器对象从集合的第一个元素开始访问,直到所有的元 ...

  5. 11岁过python1级_11岁表弟写的Python零基础入门笔记!

    一.Python输入与输出输出:使用print()函数. print()函数的基本语法格式如下:print(输出内容). 输出内容可以是数字和字符串(字符串需要用引号括起来),也可以是包含运算符的表达 ...

  6. Object-C基础入门笔记(一)

    OC基础入门笔记之一 // // main.m // oc // // Created by lujun on 2020/9/20. // Copyright © 2020 lujun. All ri ...

  7. 【Python3零基础入门笔记】05 Python时间处理——time库的使用

    time库的使用: time库基本情况 时间获取 时间格式化 程序计时 文本进度条实例 time库基本情况 Time库是python中处理时间的标准库 计算机时间表达 提供获取系统时间并格式化输出功能 ...

  8. Android Studio 基础入门笔记

    Android Studio 基础入门笔记 Android Studio 基础入门笔记 为什么选择使用 Android Studio 而不是EclipseADT 安卓配置JDK AS如何更新 常规的 ...

  9. Java基础入门笔记2

    Java基础入门笔记2 一. 为什么把程序出错叫做"BUG"? 1. 原因是臭虫或者虫子,现在用来指代电脑系统或者程序中隐藏的一些漏洞或者一些问题,所以现在程序出问题就叫" ...

最新文章

  1. Leangoo自定义字段
  2. Windows Tips--How do I disable the Windows Firewall service?
  3. http传输html图片方式,http怎么样传输图片?二进制流还是base64编码
  4. 8086内存分段理解
  5. 类CL_ABAP_TYPEDESCR,动态取得运行时类型
  6. 【Pandas】apply,applymap和map的区别
  7. 云炬Android开发笔记 5-1,2网络框架接口创建
  8. Introduction to ES6上课笔记
  9. 消息中间件Client模块划分
  10. 信息学奥赛一本通 1344:【例4-4】最小花费 | 洛谷 P1576 最小花费
  11. ubutnu 下SVN 提交时忽略某些文件或文件夹
  12. 被薅秃了!元气森林:损失近千万元 将为14.05万下单用户每人寄一箱白桃气泡水...
  13. 现在入坑 AI 太迟?这些程序员发现了掘金新出路
  14. 水利水电专业英语(2.5k行超全)
  15. mysql查询同时选修了两门_查找同时选修了C01及C02两门课程的学生姓名及学号
  16. extmail 发送邮件附件大小限制修改
  17. 运行matlab报错 Runtime Error
  18. 力扣 2104. 子数组范围和
  19. Flutter中的Isolate的个人理解
  20. unity Inspector

热门文章

  1. (转)CSS书写规范、顺序
  2. MySQL 一个连接对应一个数据库
  3. 模板插件aTpl.js新增功能
  4. RemoteIE 开发者可跨平台使用IE测试网页
  5. 自适应后的页面用户点击后会放大
  6. 春节英语祝福【中英文对照】
  7. 一步一步SharePoint 2007之三十一:实现文档Event Handler(3)——附加Handler程序
  8. 几道MySQL索引相关的重点面试题
  9. tcp三次握手和syn 洪水攻击
  10. 第一章 基础设施,1.3 阿里视频云ApsaraVideo是怎样让4000万人同时狂欢的(作者:蔡华)...