【基础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)
本文来自博客园,作者:橘子偏爱橙子,转载请注明原文链接:https://www.cnblogs.com/xfbk/p/15697312.html