学习目标:
掌握Python基础知识
学习内容:
1、 列表
2、 元组
学习产出:
1.1.列表的概念
列表是有序集合,没有固定大小,能够保存任意数量任意类型的 Python 对象,
语法为 :[元素1, 元素2, …, 元素n]。
逗号将每个元素一一分开,中括号把所有元素绑在一起
1.2.列表的创建
创建一个普通列表
x = ['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday']
print(x)
创建一个混合列表
mix = [1, 'lsgo', 3.14, [1, 2, 3]]
print(mix)
创建一个空列表
empty = []
print(empty)
1.3.列表的元素增加
list.append(obj) 在列表末尾添加新的对象,只接受一个参数,参数可以是任何数据类型,被追加的元素在 list 中保持着原结构类型。
x = ['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday']
x.append('Thursday')
print(x)
#也可以添加一个列表到另外一个列表中
x = ['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday']
x.append(['Thursday', 'Sunday'])
#x.extend(['Thursday', 'Sunday']),是在末尾追加
#x.insert(2, 'Sunday'),按照指定下标位置追加
print(x)
1.4.列表的元素删除
list.remove(obj) 移除列表中某个值的第一个匹配项
x = ['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday']
x.remove('Monday')
# x.pop()也可以删除,默认删除最后一个,可以指定下标
print(x)
1.5.列表的元素获取
通过元素的索引值,从列表获取单个元素,注意,列表索引值是从0开始的。
通过将索引指定为-1,可让Python返回最后一个列表元素,索引 -2 返回倒数第二个列表元素,以此类推。
x = ['Monday', 'Tuesday', 'Wednesday', ['Thursday', 'Friday']]
print(x[0], type(x[0]))
print(x[-1], type(x[-1]))
print(x[-2], type(x[-2]))
#也可以使用这种方式,代表遍历整个列表
print(x[:])
1.6.列表的常用操作符
等号操作符:==
连接操作符 +
重复操作符 *
成员关系操作符 in、not in
「等号 ==」,只有成员、成员位置都相同时才返回True。
列表拼接有两种方式,用「加号 +」和「乘号 *」,前者首尾拼接,后者复制拼接。
list1 = [123, 456]
list2 = [456, 123]
list3 = [123, 456]
list4 = list1 + list2 # extend()
print(list4)
需要注意的是,前面三种方法(append, extend, insert)可对列表增加元素,它们没有返回值,是直接修改了原数据对象。 而将两个list相加,需要创建新的 list 对象,从而需要消耗额外的内存,特别是当 list 较大时,尽量不要使用 “+” 来添加list
1.7.列表的其他方法
list.count(obj) 统计某个元素在列表中出现的次数
list.index(x[, start[, end]]) 从列表中找出某个值第一个匹配项的索引位置
list.reverse() 反向列表中元素
list.sort(key=None, reverse=False) 对原列表进行排序
2.1.元组的概念
「元组」定义语法为:(元素1, 元素2, …, 元素n)
小括号把所有元素绑在一起
逗号将每个元素一一分开
2.2.创建元组
Python 的元组与列表类似,不同之处在于tuple被创建后就不能对其进行修改,类似字符串。
元组使用小括号,列表使用方括号。
元组与列表类似,也用整数来对它进行索引 (indexing) 和切片 (slicing)
t1 = (1, 10.31, 'python')
#第二种写法
t2 = 1, 10.31, 'python'
print(t1)
创建元组可以用小括号 (),也可以什么都不用,为了可读性,建议还是用 ()。 元组中只包含一个元素时,需要在元素后面添加逗号,否则括号会被当作运算符使用
#创建二维元组
x = (1, 10.31, 'python'), ('data', 11)
print(x)
2.3.更新/删除元组
元组有不可更改 (immutable) 的性质,因此不能直接给元组的元素赋值,但是只要元组中的元素可更改 (mutable),那么我们可以直接更改其元素,注意这跟赋值其元素不同
week = ('Monday', 'Tuesday', 'Thursday', 'Friday')
week = week[:2] + ('Wednesday',) + week[2:]
print(week) # ('Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday')
2.4.元组的内置方法
count(‘python’) 是记录在元组 t 中该元素出现几次,显然是 1 次
index(10.31) 是找到该元素在元组 t 的索引,显然是 1
2.5.解压元组
解压(unpack)一维元组(有几个元素左边括号定义几个变量)
t = (1, 10.31, 'python')
(a, b, c) = t
print(a, b, c)
# 1 10.31 python
解压二维元组(按照元组里的元组结构来定义变量)
t = (1, 10.31, ('OK', 'python'))
(a, b, (c, d)) = t
print(a, b, c, d)
数据及代码源于"AI训练营Python-阿里云天池"