python课程笔记_4_列表元组字典集合

列表

  1. 表示形式:用中括号,如[1, 2, 3, 4]

  2. 分类:

    • 一维列表:[1, 2, 3]、
    • 二维列表:[[1, 2], [2, 4]]
  3. 元素:

    • 类型:默认为字符类型或字符串类型(若想用列表的数据进行算术运算,需先将元素转为整型数据)
    • 特点:元素有序、可更改、可重复
  • 索引【下标,角标】:
    • 从左向右开始编号:0,1,2…n-1
    • 从右向左编号: -1,-2…

列表的创建

列表名 = [选项1, 选项2, 选项3,…] *列表名其实就是标识符

元素的格式:数字和True/False无需加引号,但是其他含汉字、字母的元素必须加引号

# 创建非空列表
list1 = [1, 2, 3, 4]
list2 = [10, 9, True, '张三', 'a', 'apple']  
list3 = list('hello world')  # ['h', 'e', 'l', 'l', 'o', ' ', 'w', 'o', 'r', 'l', 'd']

# 创建空列表,且列表长度必定为0---->因此无法给该空列表中任何元素取值,但是可以用空列表来接收非空列表
list1 = []
list2 = list()

列表元素的访问

列表中元素不能整体访问,只能单个存取。给元素取值前,必须先创建列表

修改

# 已经创建了列表,再修改列表中某个元素的值
list1 = [1, 2]
list1[1] = 0

遍历

定义:列表的遍历就是访问列表的每一个元素,可以使用while循环和for-in循环

注意:不要在for-in循环中添加或删除元素

list1 = [1, 2, 3, 4, 5, 6, 7, 8]
for i in list1:
    if i % 2 == 0:
        print(i, end = " ") # 输出结果为:2 4 6 8 
list1 = [1, 2, 3, 4, 5, 6, 7, 8]
i = 0
while i <= 7:
    if list1[i] % 2 == 0:
        print(list1[i])
    i += 1

序列的通用操作

列表组合

将两个列表拼接为一个列表

list1 = [1, 2, 3]
list2 = [4, 5, 6]
print(list1 + list2) # 输出结果:[1, 2, 3, 4, 5, 6]

列表重复

list1 = [1, 2, 3]
print(list * 2) # 输出结果:[1, 2, 3, 1, 2, 3]

成员运算

  1. 成员运算符:in, not in
  2. 运算结果:布尔值
list1 = [10, 9, True, '张三']
print(10 in list1) # 输出结果:True
print(False not in list1) # 输出结果:True

列表的截取

  1. 语法:列表名[开始下标:结束下标:步长],表示按指定步长获取从开始下标到结束下标之间的元素
  2. 注意:
    • 列表截取的结果:是一个新的列表
    • [开始下标:结束下标):
      • 包头不不包尾
      • 如果其中一个下标为空,则默认为0或-1
    • 步长:
      • 默认是1,正数表示从左向右取,负数表示从右向左取
      • 步长的取值方向应该与 [开始下标,结束下标) 一致
# 【练习案例】
list1 = [10,20,30,40,50,60]
print(list1[0:3])   #[10,20,30] 
print(list1[:3])    #[10,20,30]
print(list1[:])     #[10,20,30,40,50,60] 从头取到尾
print(list1[::2])   # [10,30,50] 隔一个取一个

print(list1[3::-1]) #[40, 30, 20, 10] 从右向左取
print(list1[3:0:-1]) #[40, 30, 20] 从右向左取

print(list1[-1:-3:-1])   #[60, 50] 从右向左取
print(list1[2:])         #[30, 40, 50, 60] 从下标为2的元素开始取到末尾
print(list1[-3::-1])     #[40, 30, 20, 10] 从右向左取到第一个元素
列表长度
# 用函数len()来表示列表长度
[1, 2, 3, 4]
print(len(list1))   # 输出结果:4
列表的最大值、最小值、求和运算
print(max(list1))
print(min(list1))
print(sum(list1))
# 注意:
应用max\min函数时,列表中的所有元素应该是统一的数据类型(统一为数值类型或统一为字符串类型)
应用sum函数时,列表中所有元素必须都为数值类型

列表的操作

增加元素

list.append(obj)

列表末尾添加新的对象

此处的对象obj可以是其他的列表、元组、字典、集合

li = [10, 20, 30]
li.append(40)         # [10, 20, 30, 40]
li.append([40, 50])   # [10, 20, 30,[40,50]],li 由一维列表变成二维列表
print(li)
list.extend(obj)

列表末尾添加另一个列表中的元素

此处的对象obj不能是单个数值,必须是列表等可迭代对象

li = [10, 20, 30]
li.extend([50,80])  # [10, 20, 30, 50, 80]
li.extend(7)  # 报错
li.extend([7]) # [10, 20, 30, 50, 80, 7]
print(li)
list.insert(i,obj)

在指定下标i的位置插一个新元素,且原来的元素后移,不会被覆盖

此处的对象obj可以是其他的列表、元组、字典、集合

li = [10, 20, 30]
li.insert(1,[60, 70])  # [10, [60, 70], 20, 30]
print(li)

删除元素

list.pop(i)

删除指定下标的元素,如果下标越界,会出现IndexError

li = [10, 20, 30]
li.pop()          # 删除最后一个元素
print(li)
li.pop(0)         # 删除下标为0的元素
print(li)

li = [10, 20, 30]
value = li.pop()  # 删除最后一个元素,并返回该元素的值
list.remove(x)

删除列表中第一个值等于x的元素,删除的时候是从左向右找到

l1 = [10, -20, 30]
l1.remove(-20)
print(l1)
list.clear()

清空列表


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值