Python 高级数据类型之列表(List)

以下是本人最近学习列表中的相关说明及代码分享。

列表的定义

  • List(列表) 是Python中使用最频繁的数据类型,在其他语言中通常叫做数组
  • 专门用于存储一串信息
  • 列表用[] 定义,数据之间用 , 分隔
  • 列表的索引从0开始
    • 索引就是数据在列表中的位置编号,索引又可以被称为下标

注意:从列表中取值,如果超出索引范围,程序会报错IndexError: list index out of range

列表常用操作方法
在ipython3中定义一个列表name_list=[]
输入name_list. 按下Tab键,ipython会提示列表能够使用的方法如下:

 appen()  count()   insert()   reverse()
 clear()  extend()  pop()      sort()
 copy()   index()   remove()
序号分类关键字/函数/方法说明
1增加列表.insert(索引,数据)在指定位置插入数据
列表.appen(索引,数据)在末尾增加数据
列表.extend(列表2)将列表2的数据增加到列表
2修改列表[索引]=数据修改指定索引的数据
3删除del 列表[索引]删除指定索引的数据
列表.remove(数据)删除第一个出现的指定数据
列表.pop删除末尾数据
列表.pop(索引)删除指定索引的数据
列表.clear清空列表
4统计len(列表)列表长度
列表.count(数据)数据在列表中出现的次数
5排序列表.sort()升序排序
列表.sort(reverse=True)降序排序
列表.reverse()反转、逆序
list_01_列表基本使用

代码

name_list = ["张三", "李四", "王五"]

# 1.取值/取索引
print(name_list[2])
# 知道数据的内容,但需要知道在列表中位置
# 使用index方法需注意,如果传递的数据不在列表中,会报错 ValueError: '张三12' is not in list
print(name_list.index("张三"))

# 2.修改
name_list[2] = "wangWu"
# 如果指定的索引超出范围,程序会报错
# IndexError: list assignment index out of range
# name_list[3] = "赵六"

# 3.增加
# append可以向列表的末尾追加数据
name_list.append("王小二")
# insert向指定位置插入数据
name_list.insert(4, "zhaoLiu")
# extend 可以把其他列表完整内容追加到当前列表末尾
name_list.extend(["唐僧", "孙悟空", "猪八戒", "沙僧"])

# 删除
# remove 删除指定的数据
name_list.remove("沙僧")
# pop 默认删除最后一个元素
# 当index有参数时,则删除指定索引位置的数据
name_list.pop()
name_list.pop(4)
# clear 清空列表的所有数据
name_list.clear()

print(name_list)

输出结果

王五
0
[]

list_02_del关键字

代码

name_list = ["张三", "李四", "王五"]

# (知道) 使用del关键字(delete)删除列表元素
# 注意:在日常开发中,要从列表中删除数据,建议使用列表提供的方法
del name_list[1]

print(name_list)

# del 关键字 本质上是用来将一个变量从内存中删除的
name = "小明"

del name

# 注意:如果使用del关键字将变量从内容删除,后续的代码就不能使用这个变量了 否则会报错NameError: name 'name' is not defined
print(name)

输出结果

NameError: name ‘name’ is not defined
[‘张三’, ‘王五’]

list_03_列表的数据统计

代码

name_list = ["张三", "李四", "王五", "王小二", "张三"]

# len 函数可以统计列表中的元素的总数
list_len = len(name_list)
print("列表中包含%d个元素" % list_len)

# count方法可以统计某个元素出现的次数
count = name_list.count("张三")
print("列表中张三出现%d次" % count)

# 从列表中删除第一次出现的数据,如果数据不存在,程序会报错ValueError: list.remove(x): x not in list
name_list.remove("张三")
print(name_list)

输出结果

列表中包含5个元素
列表中张三出现2次
[‘李四’, ‘王五’, ‘王小二’, ‘张三’]

list_04_列表的排序和反转

代码

name_list = ["zhangsan", "lisi", "wangwu"]
num_list = [1, 33, 45, 5, 67, 32, 73, 87]

# 升序
# name_list.sort()
# num_list.sort()

# 降序
# name_list.sort(reverse=True)
# num_list.sort(reverse=True)

# 逆序(反转)
name_list.reverse()
num_list.reverse()

print(name_list)
print(num_list)

输出结果

[‘wangwu’, ‘lisi’, ‘zhangsan’]
[87, 73, 32, 67, 5, 45, 33, 1]

list_05_列表遍历

代码

name_list = ["张三", "李四", "王五", "王小二"]

# 迭代遍历列表
"""
从列表中依次获取数据,每一次循环过程中,数据都会保存在my_name这个变量中,
在循环体内可以获取到当前这次获取的数据
for my_name in 列表变量:
    print("我的名字叫 %s" % my_name)
"""
for my_name in name_list:
    print("我的名字叫 %s" % my_name)

输出结果

我的名字叫 张三
我的名字叫 李四
我的名字叫 王五
我的名字叫 王小二

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Python高级数据结构指的是在Python编程语言中,用来组织和存储数据的复杂数据结构类型。这些数据结构在处理和管理数据时提供了更高级、更灵活的功能和方法。 1. 元组(Tuple)是Python的不可变序列类型,用于存储多个元素。与列表不同,元组的元素不能被修改,因此在一些需要保护数据不被意外更改的情况下使用。元组可以使用索引和切片操作访问其中的元素。 2. 列表List)是Python最常用的数据结构之一,用于存储有序的元素集合。列表可以包含多种类型的元素,并且可以进行动态修改,如添加、删除、修改元素,以及切片操作和排序等。列表是非常灵活和常用的数据结构。 3. 字典(Dictionary)是Python中的键值对数据结构,用于存储无序的数据集合。字典是可变且无序的,每个元素由一个键和一个值组成,通过键来访问值。字典的主要特点是可以高效地根据键来查找和修改值。 4. 集合(Set)是Python中的另一种常用数据结构,用于存储无序且不重复的元素集合。集合可以进行集合运算(如并集、交集、差集等)和成员关系测试,还具有高效的元素查找和添加功能。 5. 堆(Heap)是一种特殊的优先队列,它具有优先级特性,其中优先级最高的元素始终位于堆顶。Python中的heapq模块提供了堆的实现,可以用于解决一些需要按优先级处理的问题。 6. 队列(Queue)是一种按照先进先出(FIFO)原则管理元素的数据结构。Python的queue模块提供了多种队列实现,如普通队列、优先级队列和循环队列,可以满足不同场景下的需求。 除了以上提到的高级数据结构,Python还提供了其他一些数据结构,如栈、字节数组和命名元组等。这些高级数据结构的存在使得Python开发者能够更加灵活和高效地处理各种复杂的数据操作和存储需求。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值