列表和元组(第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 "", line 1, in 
    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])

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

你可能感兴趣的:(列表和元组(第9篇))