Python编程基础-第3章 Python数据结构

1.Python数据结构的组成

 

 

 

 

 

 

2.列表的增删改查

2.1 列表的概念和特性

(1)概念

  • 列表List是Python对象作为其元素并按顺序排列构成的有序集合。
  • 列表中的每个元素都有各自的位置编号,称为:索引。
  • 列表元素可以是各种类型的对象,如数字、字符串、元素、字典、序列等;
  • 列表中的元素可以重复出现

 

 

 

(2)特性

  • 列表中的每个元素都是可变的
  • 列表中的元素是有序的每个元素对应一个位置
  • 列表可以容纳Python中的任何对象
  • 列表中的元素可以重复出现

2.2 创建列表

  • 方括号[  ] 创建

  • list函数创建

  • 字符串构建列表

 

 

 

2.3 列表的基础操作

(1)列表的索引

(2)列表索引访问提取

 

 

 

 

 

 索引越界会报错:

 

 

 (3)列表的切片操作提取

 

 

 和字符串一样,切片提取包左不包右

 

 

 

注意:

  • 列表切片提取步长不能为0,否则报错
  • 提取不到,返回空列表[  ] 

 

 

 

 

 

 (4)列表切片提取练习

 

 

 

 (5)列表反转

 

 

 

 

 

 

2.4 列表常用函数和方法

(1)增:append extend insert  + 

  • append:一次只能追加一个元素,元素会被追加到列表末尾
  • extend:将另一个列表添加到当前列表的末尾,相当于两个列表进行拼接。
  • insert(索引位置,要添加的元素):在指定的索引的前面,添加元素;索引超出范围,则默认添加到列表的最后
  • + 号进行拼接

 

 

 

(2)删:del pop remove

  • del list[索引] 删除列表提取的元素
  • list.pop( 索引) 若不指定索引则默认为最后一个元素(索引-1)
  • list.remove(元素名):将列表中第一次出现的该元素删除

 

 

 

 

 

 

 

(3)改:列表名[索引]=新的值

 

浅拷贝.copy()方法

如果不希望操作作用于源对象,可以使用copy进行副本创建。

 

 

(4)查:List.index( )

 

 

(5)其他函数

 

  • 长度:len(all_list)

  • 计数:all_list.count('word')

  • 下标:all_list.index('word')

  • 反转:all_list[::-1] 或 all_list.reverse()

  • 合并:list1 + list2

  • 重复:all_list * 3

  • 排序:all_list.sort --->排序后改变原来列表内容; sorted:排序后不改变原来内容

  • 判断元素是否存在:'word' in all_list

 

练习:

 

 

对列表进行倒序排序:

 

 

rerverse反转:

 

 

2.5 任务实现

 

 

 

 

 1 # -*- coding:utf-8 -*-
 2 task_list = [110, 'dog', 'cat', 120, 'apple']
 3 task_list.insert(2, [])
 4 # task_list.pop()
 5 task_list.remove('apple')
 6 num_index1 = task_list.index(110)  # 查询元素位置
 7 num_index2 = task_list.index(120)
 8 # print(task_list[num_index1]) #110
 9 # print(task_list[num_index2]) #120
10 task_list[num_index1] *= 10  # 将查询出来的元素进行自乘运算并赋值修改
11 task_list[num_index2] *= 10
12 print(task_list)

 

 

3.元组

3.2 创建元组

3.3 元组常用函数和方法

3.4 任务实现

4.字典的增删改查

4.1 字典的概念与特性

4.3 创建字典

4.4 提取字典元素

4.5 字典常用函数和方法

4.6 任务实现

5.集合

5.1 集合的概念与特性

5.2 创建集合

5.3 集合运算

5.4 集合常用函数和方法

6.实训

7.课后习题

 

posted on 2022-03-30 15:57  henry06007  阅读(260)  评论(0)    收藏  举报