Fork me on GitHub

【基础03】【自学笔记】python-列表和元组

一、列表

列表(英文名 list),是由一系列元素按顺序进行排列而成的容器。

这里面有两个重点:

  • 元素:没有要求同一类型,所以可以是任意类型。

  • 顺序:按顺序排列而成,说明列表是有序的。

在接下来的例子中,我会向你演示,列表的一些特性和常用的方法。

1. 创建列表

创建列表有两种方法

第一种方法:先创建空列表实例,再往实例中添加元素

>>> phones = list()   # 实例化
>>> phones.append("Apple")  # 添加元素
>>> phones.append("Huawei")  # 添加元素
>>> phones.append("Xiaomi")  # 添加元素
>>> phones
['Apple', 'Huawei', 'Xiaomi']

第二种方法:直接定义列表,并填充元素。

>>> phones = ["Apple", "Huawei", "Xiaomi"]
>>> phones
['Apple', 'Huawei', 'Xiaomi']

2. 增删改查

增删改查:是 新增元素、删除元素、修改元素、查看元素的简写。

查看元素

使用 [i] 的方式查看第 i+1 个元素。例如 x 的起始值为 0 ,代表第一个元素。

>>> phones = ["Apple", "Huawei", "Xiaomi"]
>>> phones[0]
'Apple'
>>> phones[1]
'Huawei'
>>> phones[2]
'Xiaomi'
>>>

 使用 index 方法,查看第一个值为 x 的索引。

>>> phones = ["Apple", "Huawei", "Xiaomi", "Huawei"]
>>> phones.index("Huawei")
1
>>>

新增元素

使用列表的 append 、insert、和 extend 方法

  • append 方法:将元素插入在列表的最后一个位置

>>> phones = []
>>> phones
[]
>>> phones.append("Apple")
>>> phones
['Apple']
>>> phones.append("Huawei")  # append 后 Huawei 会在最后一个位置
>>> phones
['Apple', 'Huawei']
>>>

  insert 方法:将元素插入在列表的指定的位置

>>> phones = ["Apple", "Huawei", "Xiaomi"]
>>> phones.insert(1, "OPPO")  # 把 OPPO 插入到索引为 1 的位置
>>> phones
['Apple', 'OPPO', 'Huawei', 'Xiaomi']

  extend:将一个新的列表直接连接在旧的列表后面

>>> phones = ["Apple", "Huawei", "Xiaomi"]
>>> new_phones = ["OPPO", "VIVO"]
>>> phones.extend(new_phones)
>>> phones
['Apple', 'Huawei', 'Xiaomi', 'OPPO', 'VIVO']

修改元素

直接使用 list[x]=new_item 的方法直接替换

>>> phones = ["Apple", "Huawei", "Xiaomi"]
>>> phones[1] = "OPPO"
>>> phones
['Apple', 'OPPO', 'Xiaomi'] 

删除元素

使用 pop ,remove 、clear 方法或者 del 语句删除元素

 pop 方法:删除指定位置的元素。默认删除最后一个元素,并返回

>>> phones = ["Apple", "Huawei", "Xiaomi"]
>>> phones.pop()  # 删除最后一个元素
'Xiaomi'
>>> phones.pop(0) # 删除索引为0的元素
'Apple'
>>> phones
['Huawei']
>>>

remove:删除第一个值为 x 的元素。

>>> phones = ["Apple", "Huawei", "Xiaomi", "Huawei"]
>>> phones.remove("Huawei")
>>> phones
['Apple', 'Xiaomi', 'Huawei']
>>>

clear 方法:把所有的元素清空

>>> phones = ["Apple", "Huawei", "Xiaomi"]
>>> phones.clear()
>>> phones
[]
>>>

del 语句:清空列表

>>> phones = ["Apple", "Huawei", "Xiaomi"]
>>> del phones[:]
>>> phones
[]
>>>

 

3. 列表反转

列表反转有两种方法

第一种方法:使用自带的 reverse 方法

>>> nums = [1,2,3,4,5]
>>> nums.reverse()
>>> nums
[5, 4, 3, 2, 1]

第二种方法:使用切片的方法

>>> nums = [1,2,3,4,5]
>>> nums[::-1]
[5, 4, 3, 2, 1]

这两种方法,区别在于:

  • reverse 方法是原地反转,作用在原对象上

  • 切片反转是返回一个新对象,原对象不改变

 

4. 列表排序

方法:列表对象内置了 sort 方法,可方便我们对元素进行排序。

 

>>> alist = [4,8,1,7,2]
>>> alist.sort()
>>> alist
[1, 2, 4, 7, 8]
>>>

  

二、元组

1. 创建元组

创建元组有2种方法

第一种方法:直接使用 圆括号 将所有的元素进行包围。这有别于创建列表时使用的是中括号:[]

>>> atuple = (1,2,3,4)
>>> atuple
(1, 2, 3, 4)
>>>

第二种方法:有时候,创建元组时,圆括号可有可无的。  

>>> btuple = 1,2,3,4
>>> btuple
(1, 2, 3, 4)
>>>

当你创建只包含一个元素的元组时,要在第一个元素后面加一个逗号 

>>> ctuple = (1,)
>>> type(ctuple)
<class 'tuple'>
>>> ctuple
(1,)
>>>
>>> dtuple = 1,
>>> type(dtuple)
<class 'tuple'>
>>> dtuple
(1,)

 另外,创建空元组可以这样

>>> a = tuple()  # 第一种方法
>>> a
()
>>> type(a)
<class 'tuple'>
>>> b = ()  # 第二种方法
>>> b
()
>>> type(b)
<class 'tuple'>

  最前面我们说过,元组是不可变的。因此,你想对元组进行修改的行为都是不被允许的。

2. 元组与列表的转换

元组是 immutable (不可变的),其序列通常包含不同种类的元素,并且通过解包或者索引来访问

列表是 mutable (可变的),并且列表中的元素一般是同种类型的,并且通过迭代访问。

将元组转成列表
>>> atuple = (1,2,3,4)
>>> type(atuple)
<class 'tuple'>
>>>
>>>
>>> list(atuple)
[1, 2, 3, 4]
>>>
>>>

 将列表转成元组

>>> alist = [1,2,3,4]
>>> type(alist)
<class 'list'>
>>>
>>>
>>> tuple(alist)
(1, 2, 3, 4)

  

 

posted @ 2021-12-16 12:16  橘子偏爱橙子  阅读(41)  评论(0编辑  收藏  举报