列表和元组(第9篇)

列表(list)列表就是C语言和Java里面的数组,只是名称不一样而已。Python里叫list。

你可以在列表里放一些数据,便于统一处理。

>>> prices = [21.5, 32.5, 34.6, 10]
>>> prices
[21.5, 32.5, 34.6, 10]

你可以通过索引的方式对每一个列表元素处理:

>>> prices[0]
21.5

记住,索引是从0开始的,因此列表的最后一个索引是列表长度-1。通过len()可以得到列表的长度:

>>> len(prices)
4
>>> prices[len(prices)-1]
10

当你的索引超出范围时,就会出错:

>>> prices[4]
Traceback (most recent call last):
  File "<pyshell#6>", line 1, in <module>
    prices[4]
IndexError: list index out of range

如果你想得到最后一个元素,你还可以使用索引 -1 :

>>> prices[-1]
10
>>> prices[-2]
34.6

跟C语言一样,列表里的元素是可变的。

>>> prices[0] = 0
>>> prices[0]
0

列表中的几个常用方法

  • append()
    这个方法用于在列表的末尾追加一个元素:
>>> prices.append(100)
>>> prices
[21.5, 32.5, 34.6, 10, 100]
  • insert()
    这个方法用于在指定位置插入元素,比如在索引1的位置插入1000:
>>> prices.insert(1, 1000)
>>> prices
[21.5, 1000, 32.5, 34.6, 10, 100]
  • pop()
    这个方法用于删除列表末尾的元素:
>>> prices.pop()
>>> prices
[21.5, 1000, 32.5, 34.6, 10]

你也可以指定删除位置:

>>> prices.pop(1)
>>> prices
[21.5, 32.5, 34.6, 10]

列表中,元素的数据类型可以不一样,可以同时包含数字和字符串:

>>> L = [1, "2", "张三"]

列表中甚至可以包含列表:

>>> L.append([3, 4, 5])
>>> L
[1, "2", "张三", [3, 4, 5]]

你可以通过L[3][1]的方式得到4:

>>> L[3][1]
4
>>> L[3][0]
3
>>> L[3][2]
5

元组(tuple)

Python里有一个特殊的列表叫元组,它跟列表几乎一模一样,只是元组里的数据一旦定义就不能更改,所以list里的那些改变元素的方法统统不能用,比如:append(),insert(),pop()。

而且元组使用小括号表示

>>> age = (18, 19, 20, 21)
>>> age
(18, 19, 20, 21)

如果元组里只有一个元素,必须在这个元素后面加上一个逗号:

>>> t = (1, )
>>> t
(1, )

因为在数学中,数字外面加上括号仍然是数字,Python为了进行区分才这样强制要求的。
元组里也可以包含元组,元组里还可以包含列表,虽然元组里的元素不可变,但是元组里的列表是可变的:

>>> t = (1, 2, 3, [4, 5])
>>> t[3][0] =100
>>> t[3][1] =1000
>>> t

 (1, 2, 3, [100, 1000])

因为对于元组来说,它里面的列表实际上是一个指针,指针本身没变,所以元组认为这个元素也就没变,只是指针自己心里清楚,他指向的列表数据变了。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 数据结构,是指通过某种方式(例如对元素进行编号)组织在一起的数据元素的集合,这些数据元素可以是数字或者字符,甚至可...
    千释炎阅读 4,280评论 0 0
  • 本节要介绍的是Python里面常用的几种数据结构。通常情况下,声明一个变量只保存一个值是远远不够的,我们需要将一组...
    小黑y99阅读 65,328评论 0 9
  • 路漫漫其修远兮,转眼间四年已经过去了,我们的五年之约马上就要到期了,尽管我已经知道最后的结果,但我依然履行着那个当...
    乖乖的瑷文阅读 3,089评论 4 4
  • 不知何时开始,文玩成了流行的方向标,周围的朋友总爱在手腕脖间或多或少挂上些许物件。自己不能免俗,跟着潮流,也亦步亦...
    一笔一印记阅读 2,778评论 0 0
  • 今天下午我们在班里举行了以爱国教育为主题的班会,在这堂班会课上,班导给我们讲了很多关于爱国的事情,也让我们了解了一...
    d11f7093409f阅读 2,394评论 0 0