python语法 数据结构-列表和元组

1. 列表

列表类型list

1. 1. 列表特征

  • 列表中的每一个元素都是可变的
  • 列表中的元素是有序的,也就是说每一个元素都有一个位置
  • 列表可以容纳 Python 中的任何对象

1. 2. 创建列表

创建列表和创建普通变量一样, 用中括号括起一堆数据就可以了, 数据之间用逗号隔开

创建空列表

a = []

1. 3. 列表常用方法

1. 3.1 lst.append(x)

x 追加至列表 lst 的尾部,不影响列表中已有元素的位置,也不影响列表在内存中的起始地址。

a = [1, 2, 3, 4]
a.append(5)
print(a)

输出:
[1, 2, 3, 4, 5]

1. 3.2 lst.extend(L)

将列表 L 中所有元素追加至列表 lst 的尾部,不影响 lst 列表中已有元素的位置,也不影响 lst 列表在内存中的起始地址。

a = [1, 2, 3, 4]
b = [5, 6, 7]
a.append(b)
print(a)

输出:
[1, 2, 3, 4, 5, 6, 7]

1. 3.3 lst. inser(index, x)

在列表 lstindex 位置处插入 x ,该位置之后的所有元素自动向后移动,索引加1。

a = [1, 2, 3, 4]
a.insert(0, 0)
print(a)

输出:
[0, 1, 2, 3, 4]

1. 3.4 lst.pop([index])

删除并返回列表 lst 中下标为 index 的元素,该位置后面的所有元素自动向前移动,索引减1。index 默认为-1,表示删除并返回列表中最后一个元素。

a = [1, 2, 3, 4]
a.pop(0)
print(a)

输出:
[2, 3, 4]

1. 3.5 Ist.remove(x)

在列表 lst 中删除第一个值为 x 的元素,被删除元素位置之后的所有元素自动向前 移动,索引减1;如果列表中不存在 x 则抛出异常。

a = [1, 2, 3, 4]
a.remove(3)
print(a)

输出:
[1, 2, 4]

1. 3.6 lst.count(x)

返回 x 在列表 lst 中的出现次数。

a = [1, 2, 3, 3]
b = a.count(3)
print(b)

输出:
2

1. 3.7 lst.sort(key=None, reverse=False)

对列表 lst 中的元素进行原地排序,key 用来指定排序规则,reverseFalse 表示升序,为 True 表示降序。默认不需要参数, 从小到大排队

a = [5, 3, 1, 4, 2]
a.sort()
print(a)

输出:
[1, 2, 3, 4, 5]

1. 3.8 lst.sort(key=None, reverse=False)

对列表 lst 的所有元素进行原地逆序,首尾交换。

a = [1, 2, 3, 4, 5]
a.sort()
print(a)

输出:
[5, 4, 3, 2, 1]

1. 3.9 lst.clear()

清空列表 lst 所有元素。

1. 3.10 lst.copy()

生成列表 lst 的副本,可以通过赋值传递给别一个变量。

a = [1, 2, 3, 4, 5]
b = a.copy()
a[0] = 0;
print(a)
print(b)

输出:
[0, 2, 3, 4, 5]
[1, 2, 3, 4, 5]

1. 3.11 len(list)

返回列表 lst 中的元素个数

1. 3.12 del my_list[2]

删除列表 lst 中指定位置元素

my_list = [1, 2, 3, 4, 5]
del my_list[2]

my_list 输出 [1, 2, 4, 5]

1. 3.13 list.pop(2)

删除列表 lst 中指定位置元素

my_list = [1, 2, 3, 4, 5]
deleted_value = my_list.pop(2)

my_list 输出 [1, 2, 4, 5]

1. 4. 获取列表值

1. 4.1 通过索引

a = [1, 2, 3, 4, 5]
print(a[0])

输出:
1

1. 4.2 通过迭代

a = [1, 2, 3, 4, 5]
for index in a:
	print(index)

输出:
1 2 3 4 5

1. 4.3 通过列表切片

用一个冒号隔开两个索引值, 左边是开始位置, 右边是结束位置。 这里要注意的一点是, 结束位置上的元素是不包含的。
利用列表分片,得到一个原来列表的拷贝, 原来列表并没有发生改变。

a = [1, 2, 3, 4, 5]

a[1:]
a[:2]
a[::2]

输出:

1. 5. 列表与运算符

  • + 连接符
  • * 重复运算符
  • in
  • not in

1.6. 列表表达式

[ 表达式 for 迭代变量 in 可迭代对象 if 条件表达式 ]

arr = [i for i in range(5)]
print(arr)

输出: 0 1 2 3 4

arr = [i * i for i in range(6) if i*i <= 9 ]
print(arr)

输出: 0 1 4 9 

2. 元组

元组类型tuple

2. 1. 元组特征

元组其实可以理解为一个稳固版的列表,因为元组是不可以被修改的,因此在列表中的存在的方法均不可以使用在元组上,但是元组是可以被查看=索引的,方式就和列表一样

2. 2. 创建空元组

a = () # 创建空元组
a = (1, ) # 元组只有一个元素

2. 3. 更新元组

可以通过切片的方式更新元组

a = (1, 2, 3)
a = a[:2] + (4,) + a[2:]
print(a)

输出:
(1, 2, 4, 3)
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值