Python数据类型——列表 (自学笔记 第四天)

目录

列表

1.创建列表

2.列表的索引

切片

3.列表的操作

3.1列表元素的增加

3.2列表元素的删除

3.3列表元素的访问与计数

3.4列表元素的排序

常用序列操作内置函数

总结


列表

写在方括号[ ]之间、用逗号分隔开的有序可变序列

列表中元素的类型可以不相同。(一个列表中的数据类型可以各不相同,可以同时分别为整数、实数、字符串等基本类型,甚至是列表、元组、字典、集合以及其他自定义类型的对象)

list1 = ["幻影", "G68", 89, True]
list2 = ['spam', 2.0, 5, [10, 20]]

1.创建列表

变量名 = 列表

变量名 = list(可迭代对象)

  • 可直接将一个列表赋值给变量
  • 也可以使用 list() 函数将元组、 range 对象、字符串或其他类型的可迭代对象类型的数据转换为列表。

  应用:生成[1,4,9,16,25]

#第一种方式:
list1 = []
for i in range(1, 6):
    list1.append(i ** 2)
print(list1)
#第二种方式(列表生成式):
"""
变量写在前边,后面写变量的变化
"""
list2 = [i ** 2 for i in range(1, 6)]
print(list2)

2.列表的索引

索引同字符串和元组一样,从0开始,0表示第一个元素索引,-1最后一个元素索引,-len()第一个元素的索引,len()-1最后一个元素的索引,对应的元素1=array[0]= array[-7](左闭右开)

切片

切片是 Python 序列的重要操作之一,适用于列表、元组、字符串、 range 对象等类型。

序列名[start end step]

参数:

  • start 表示开始下标(默认为0)
  • end 表示结束下标(默认为序列长度)
  • step 表示步长(默认为1)

可以使用切片来 截取 序列中的任何部分,得到一个新序列。

也可以通过切片来 修改 和 删除 列表中部分元素,甚至可以通过切片操作为列表对象增加元素。(字符串、元组除外)

注意区分:list1[0] 和 list1[0:1] 的区别

3.列表的操作

3.1列表元素的增加
  • 使用 + 合并列表 (速度慢)

  • 使用 * 重复列表

将列表与整数相乘,生成一个新列表,新列表是原列表中元素的重复。

注意:将包含列表的列表重复时,修改列表元素时,重复位置一同变化
  • 使用 a[n:n]=[q] 可以在列表a中的n位置插入一个值q

  • L.append(var)

向列表的尾部追加元素。注意:append方法不能返回值

追加单个元素

追加多个元素,需以列表的形式进行,原列表维数随之发生改变

  • L.extend(list)

向列表的尾部追加列表。注意:extend方法不能返回值

追加单个元素,会被“拆分”

  • L.insert(index,var)

在列表的指定位置添加元素

追加单个元素

追加多个元素,需以列表的形式进行,原列表维数随之发生改变


3.2列表元素的删除
  • del 命令

删除整个列表或列表指定位置上的一个或多个元素

  • L.clear()

清空列表

  • L.pop(index)

删除指定位置上的一个元素,并返回指定位置上的元素(默认最后一个)

  • L.remove(var)

删除列表中首次出现的指定元素

   应用:在列表中删除连续重复的元素

# 找元素,删元素
list5 = ["01", "12", "23", "23", "45", "56"]
for i in list5[::]:
    if i == "23":
        list5.remove(i)
print(list5)  # ['01', '12', '45', '56']

# 找索引 删元素
list6 = ["01", "12", "23", "23", "45", "56"]
for i in range(len(list6)-1, -1, -1):
    if list6[i] == "23":
        del list6[i]
print(list6)  # ['01', '12', '45', '56']
3.3列表元素的访问与计数
  • 下标直接访问
  • innot in

  • L.count(var)

统计指定元素在列表中出现的次数

  • L.index(var)

获取指定元素的索引

3.4列表元素的排序
  • L.sort()
对原列表元素进行排序,默认是升序(reverse = False), 不会生成一个新的列表
  • sorted(list)

对列表元素进行排序,默认是升序(reverse = False),排序的结果会生成一个新列表

二者都可加入参数 key 来指导排序

  • L.reverse()

翻转列表元素,不会生成一个新的列表

  • reversed(list)

内置函数,翻转列表元素,生成一个新的列表,但需使用list()函数一起

常用序列操作内置函数

  • len(list)

获取列表的长度,同样适用于元组、字典、集合、字符串等

  • max(list)

获取列表中的最大值,同样适用于元组、字典、集合、 range对象等

  • min(list)

获取列表中的最小值,同样适用于元组、字典、集合、 range对象等

  • sum(list)

对列表元素进行求和运算,对非数值型列表运算需指定start参数,同样适用于元组、 range

  • zip()

返回可迭代的zip对象

  • enumerate(list)

枚举列表元素,返回枚举对象,每个元素为包含下标和值的元组。对元组、字符串同样有效


总结

学习Python的第四天~,以上大部分内容来自公众号“Python小屋”、“千峰教育”

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值