Python基础入门:列表与元组

学习目标:

掌握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-阿里云天池"

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值