七、入门python第七课

列表

1. 掌握列表的定义和特点

2. 熟悉列表的相关操作

3. 掌握列表的遍历

4. 掌握列表的嵌套

        前面我们已经学到了变量和字符串等用来存储数据知识,那么我们为什么还要学习这一种变量类型?试想一下,当我们要把一个班的同学都放到计算机里面,假设一班有30个同学,那么我们就需要实例化30个变量,这显然是很麻烦的,那么我们有没有一种方法可以一次性存储多个变量呢?这时候列表就可以很好的解决我们的问题。

列表的格式

        列表· 名  = [数据1,数据2,数据3]

namesList = ['xiaoWang','xiaoZhang','xiaoHua']

python列表比C语⾔的数组强⼤的地⽅在于列表中的元素可以是不同类型的数据

打印列表

        打印列表和我们前面学到的打印字符串指定内容一样。

   语法:                  print(  列表名【下标】)

namesList = ['xiaoWang','xiaoZhang','xiaoHua']
 print(namesList[0])
 print(namesList[1])
 print(namesList[2])

列表的相关操作

列表中存放的数据是可以进⾏修改的,⽐如"增"、"删"、"改"、"查"

1.下标

和字符串⼀样,列表也可以通过下标(索引)访问元素,下标也是从0开始

name_list = ['Tom', 'Lily', 'Rose']
print(name_list[0]) # Tom
print(name_list[1]) # Lily
print(name_list[2]) # Rose

2.查找函数

index():返回指定数据所在位置的下标 。

语法:

        列表序列.index(数据, 开始位置下标, 结束位置下标)

name_list = ['Tom', 'Lily', 'Rose']
print(name_list.index('Lily', 0, 2)) # 1

注意:index()查找函数与字符串中的index()查找函数一样,如果查找不到指定目标报错

count():返回统计指定数据在当前列表中出现的次数。

name_list = ['Tom', 'Lily', 'Rose']
print(name_list.count('Lily')) # 1

len():返回访问列表⻓度,即列表中数据的个数。

name_list = ['Tom', 'Lily', 'Rose']
print(len(name_list)) # 3

3.判断是否存在

in:判断指定数据在某个列表序列,如果在返回True,否则返回False

name_list = ['Tom', 'Lily', 'Rose']
# 结果:True
print('Lily' in name_list)
# 结果:False
print('Lilys' in name_list)

not in:判断指定数据不在某个列表序列,如果不在返回True,否则 返回False

name_list = ['Tom', 'Lily', 'Rose']
# 结果:False
print('Lily' not in name_list)
# 结果:True
print('Lilys' not in name_list)

4.添加元素("增"append, extend, insert)

append()

append()在列表的末尾添加,如果append()追加的数据是⼀个序列,则追加整个序列到列表

#定义变量A,默认有3个元素
A = ['xiaoWang','xiaoZhang','xiaoHua']
print("-----添加之前,列表A的数据-----")
for tempName in A:
 print(tempName)
 #提示、并添加元素
temp = input('请输⼊要添加的学⽣姓名:')
A.append(temp)
print("-----添加之后,列表A的数据-----")
for tempName in A:
 print(tempName)

name_list = ['Tom', 'Lily', 'Rose']
name_list.append(['xiaoming', 'xiaohong'])
# 结果:['Tom', 'Lily', 'Rose', ['xiaoming', 'xiaohong']]
print(name_list)

extend()

通过extend可以将另⼀个集合中的元素逐⼀添加到列表中

 insert()

在指定位置插入指定内容/

语法:

        insert(插入的下标, 插入的内容)

 5、删除元素("删"del, pop, remove)

        在现实生活中,也常有同学掉班和转学的情况,那么删除列表的元素也是经常的操作。我们应该如何完成删除操作?

列表元素的常⽤删除⽅法有:

        del:根据下标进⾏删除

        pop:删除最后⼀个元素

        remove:根据元素的值进⾏删除

del        根据下标进⾏删除

语法:

del 目标【下标】

movieName = ['加勒⽐海盗','骇客帝国','第⼀滴⾎','指环王','霍比特人']
print('------删除之前------')
for tempName in movieName:
  print(tempName)
del movieName[2] #删除指定数据
# del movieName #删除列表
print('------删除之后------')
for tempName in movieName:
  print(tempName)

 pop        删除最后⼀个元素

语法:

目标.pop()

movieName = ['加勒⽐海盗','骇客帝国','第⼀滴⾎','指环王','霍比特人']
print('------删除之前------')
for tempName in movieName:
  print(tempName)
movieName.pop()
# pop删除列表
print('------删除之后------')
for tempName in movieName:
  print(tempName)

 remove        根据元素的值进⾏删除

语法:

目标.remove(要删除的数据)

movieName = ['加勒⽐海盗','骇客帝国','第⼀滴⾎','指环王','霍比特人']
print('------删除之前------')
for tempName in movieName:
  print(tempName)
movieName.remove('骇客帝国')
# pop删除列表
print('------删除之后------')
for tempName in movieName:
  print(tempName)

特殊:clear,清空列表

语法:

目标.clear()

movieName = ['加勒⽐海盗','骇客帝国','第⼀滴⾎','指环王','霍比特人']
print('------删除之前------')
print(movieName)
movieName.clear()
print('------删除之后------')
print(movieName)

 6、列表修改数据(sort, reverse)

1.修改指定下标数据

修改指定下标的数据其实就是对指定下标的数据重新赋值。

name_list = ['Tom', 'Lily', 'Rose']
name_list[0] = 'aaa'
# 结果:['aaa', 'Lily', 'Rose']
print(name_list)

2、逆序

将列表的内容顺序按相反排列(降序变正序,正序变逆序)

 语法:

        目标列表.reverse()

num_list = [1, 5, 2, 3, 6, 8]
num_list.reverse()
# 结果:[8, 6, 3, 2, 5, 1]
print(num_list)

3.排序

        sort⽅法是将list按特定顺序重新排列,默认为由⼩到⼤,参数 reverse=True可改为倒序,由⼤到⼩。

语法:

        列表序列.sort( key=None, reverse=False)

注意:reverse表示排序规则,reverse = True 降序, reverse = False 升序(默认)

num_list = [1, 5, 2, 3, 6, 8]
num_list.sort()
# 结果:[1, 2, 3, 5, 6, 8]
print(num_list)

7、复制

copy()

简单来说就是一个变量的数据复制一份给另一个变量(和普通的赋值相比,复制的数据是独立的,有独立的IP)

语法:

        复制给的变量 = 要复制的变量.copy()

movieName = ['加勒⽐海盗','骇客帝国','第⼀滴⾎','指环王','霍比特人']
asd = movieName.copy()
print(movieName)
print(asd)
print(id(movieName))
print(id(asd))

 8.列表的遍历

1.while遍历

name_list = ['Tom', 'Lily', 'Rose']
i = 0
while i < len(name_list):
 print(name_list[i])
 i += 1

2.for遍历

namesList = ['xiaoWang','xiaoZhang','xiaoHua']
for name in namesList:
 print(name)

9、列表的嵌套

所谓列表嵌套指的就是⼀个列表⾥⾯包含了其他的⼦列表。

name_list = [['⼩明', '⼩红', '⼩绿'], ['Tom', 'Lily', 'Rose']]
#查找列表的第一个下标数据内容
print(name_list[0])
#查找第二个列表的第一个子数据
print(name_list[1][0])

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值