前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Python 基础语法四-list 与 tuple

Python 基础语法四-list 与 tuple

作者头像
keinYe
发布2019-08-01 10:42:06
6720
发布2019-08-01 10:42:06
举报
文章被收录于专栏:keinYe

list

list(列表)是有序、可变的数据集合,可以随时添加、删除和修改元素,同时也是 python 内置的一种数据类型。

在 python 中使用一对方括号[]来定义一个 list。list 中的元素可以是任意的数据类型,甚至元素可以是一个 list。

list 可以看做是 C 或 java 中的数组,list 和数组最大的不同是 list 中的元素可以是不同的数据类型,而数组在定义后要求内部元素的数据类型必须与定义时的数据类型相同。

下面是一个 list 的定义

代码语言:javascript
复制
>>> a = []
>>> type(a)
<class 'list'>
>>> print(a)
[]
>>> b = [1, 'str', 3.14, a]
>>> print(b)
[1, 'str', 3.14, []]
>>> bool(a)
False
>>> bool(b)
True

list 基本操作

  • len() len() 用来计算 list 的长度,在交互模式下使用示例 >>> a = [] >>> list(a) 0 >>> b = [1, 'str', 3.14, a] >>> list(b) 4
  • + + 用来连接两个 list,在交互模式下使用示例 >>> a = ['python', 'keinYe'] >>> b = [1, 2, 3, 4] >>> a + b ['python', 'keinYe', 1, 2, 3, 4]
  • * * 用来对一个 list 进行多次重复,在交互模式下使用示例 >>> a = ['python', 'keinYe'] >>> a * 2 ['python', 'keinYe', 'python', 'keinYe']
  • in in 用来判断元素是否包含在 list 中,在交互模式下使用示例 >>> a = ['python', 'keinYe'] >>> 'python' in a True >>> 'mac' in a False
  • max 和 min max 和 min 用来获取 list 中的最大值和最小值,在交互模式下使用示例 >>> a = [1, 3, 2, 6, 4, 9] >>> max(a) 9 >>> min(a) 1
  • 增加和删除元素 append 和 insert 向 list 中增加元素. append 用来向 list 末尾增加新的元素,insert 可以在 list 的指定位置增加新的元素。 >>> a = [1, 2, 3] >>> a.append(4) >>> a [1, 2, 3, 4] >>> a.insert(1, 5) >>> a [1, 5, 2, 3, 4] pop 和 remove 从 list 中删除元素 remove 用来删除指定的元素,pop 用来删除末尾或指定位置的元素,同时返回被删除的元素。 >>> a = [1, 2, 3, 4, 5, 6, 7] >>> a.remove(1) >>> a [2, 3, 4, 5, 6, 7] >>> a.remove(8) Traceback (most recent call last): File "<stdin>", line 1, in <module> ValueError: list.remove(x): x not in list >>> a.pop() 7 >>> a [2, 3, 4, 5, 6] >>> a.pop(1) 3 >>> a [2, 4, 5, 6] 使用 remove 来删除 list 中的元素是,若 list 中不存在该元素,则会报错,故在使用 remove 前要先判断元素存在于 list 中。

list 索引

下标索引(类似C中数组索引),反向索引下标为负值。在 list 中索引是以元素为单位进行的

代码语言:javascript
复制
>>> a = [1, 'python', 3.14]
>>> a[0]
1
>>> a[3]
raceback (most recent call last):
  File "<stdin>", line 1, in <module>
IndexError: list index out of range
>>> a[len(a)-1]
3.14
>>> a[-1]
3.14
>>> a[-2]
'python'
>>> a[-3]
1

list 的索引范围为 0 到 len(list) - 1 或者 -1 至 -len(list),当索引超出范围时,python 会报 IndexError 错误。

使用下标索引也可以替换 list 中的元素

代码语言:javascript
复制
>>> a = [1, 'python', 3.14]
>>> a[0] = 5
>>> a
[5, 'python', 3.14]
>>> a[1] = 10
>>> a
[5, 10, 3.14]

从以上示例可以看出使用 list 下标索引不仅可以更改 list 的元素值,还可以使用不同的数据类型来替换 list 中的元素。

对象有类型,变量无类型。list 中元素的数据类型是动态可变的。

list 排序

可以使用 sort 函数来对 list 进行排序。

sort(*, key=None, reverse=False) This method sorts the list in place, using only < comparisons between items. Exceptions are not suppressed - if any comparison operations fail, the entire sort operation will fail (and the list will likely be left in a partially modified state).

代码语言:javascript
复制
>>> a = [2, 5, 9, 4, 1, 3, 8, 6]
>>> a.sort()
>>> a
[1, 2, 3, 4, 5, 6, 8, 9]

sort 函数默认对 list 进行升序排列, list.sort() 是对列表进行原地修改,没有返回值。

由于 sort 函数默认是对 list 机型升序排列,有时我们需要对 list 进行降序排列,这时就用到了 sort 函数的 reverse 参数

代码语言:javascript
复制
>>> a = [2, 5, 9, 4, 1, 3, 8, 6]
>>> a.sort(reverse=True)
>>> a
[9, 8, 6, 5, 4, 3, 2, 1]

tuple

tuple (元组)也是一种有序列表,和 list 不同的是 tuple 一旦初始化就不能修改

元组是用圆括号括起来的,其中的元素之间用逗号隔开。

代码语言:javascript
复制
>>> tuple = (1, 'python', [1, 2, 3])
>>> type(tuple)
<class 'tuple'>
>>> tuple
(1, 'python', [1, 2, 3])

元组初始化后不能修改,误修改时 python 会报TypeError错误。

代码语言:javascript
复制
>>> tuple = (1, 'python', [1, 2, 3])
>>> tuple[0] = 2
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: 'tuple' object does not support item assignment

创建空的元组

代码语言:javascript
复制
>>> tuple = ()
>>> tuple
()

创建仅有一个元素的元组

代码语言:javascript
复制
>>> tuple = (1,)
>>> tuple
(1,)
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2018-11-30,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 keinYe 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • list
    • list 基本操作
      • list 索引
        • list 排序
        • tuple
        领券
        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档