第4章 列表

1. 列表数据类型

  • 列表:相当于数组
ABC = ["A", "B", "C"]

print(ABC)

1.1 用索引取得列表中的单个值

ABC = ["A", "B", "C"]

print(ABC[0])

1.2 负数索引

  • 索引为负:从后往前查找
ABC = ["A", "B", "C"]

print(ABC[-1])

1.3 利用切片取得子列表

  • 第一个参数:起始索引,不写则从列表起始开始
  • 第二个参数:终止索引,不写则切片至列表末尾
  • 截取列表中从起始索引到终止索引(不含终止索引)处的元素,并组成新的列表
values = [1, 2, 3, 4, 5, 6, 7]

print(values[1:5])

1.4 用 len() 函数取得列表的长度

ABC = ["A", "B", "C"]

print(len(ABC))

1.5 用索引改变列表中的值

ABC = ["A", "B", "C"]

ABC[1] = "b"
print(ABC)

1.6 列表连接

ABC = ["A", "B", "C"]

print(ABC + ["A", "B", "C"])

1.7 列表复制

values = [1, 2, 3, 4, 5, 6, 7]

a = values[:]
values[0] = 123
print(values)
print(a)
# 不能将value直接赋值给a
# 这样操作仅仅是指针传递

1.8 用 del 语句从列表中删除值

ABC = ["A", "B", "C"]

del ABC[0]
print(ABC)

2. 使用列表

2.1 列表用于循环

ABC = ["A", "B", "C"]

for i in ABC:
    print(i)

2.2 in 和 not in 操作符

ABC = ["A", "B", "C"]

print("A" in ABC)
print("A" not in ABC)

2.3 enumerate() 函数与列表一起使用

  • enumerate()函数:返回元素的索引和元素本身
ABC = ["A", "B", "C"]

for index, item in enumerate(ABC):
    print(f"{index} -> {item}")
    
print(list(enumerate(ABC)))

2.4 random.choice() 和 random.shuffle() 函数与列表一起使用

import random

ABC = ["A", "B", "C"]

print(random.choice(ABC))

print(ABC)
random.shuffle(ABC)
print(ABC)

3. 增强的赋值操作

增强的赋值语句
i += 1
i -=1
i *= 1
i /= 1
i %= 1

4. 方法

4.1 用 index() 方法在列表中查找值

ABC = ["A", "B", "C", "B"]

print(ABC.index("B"))

4.2 用 append() 方法在列表中添加值

ABC = ["A", "B", "C"]

ABC.append("D")
print(ABC)

4.3 用 insert() 方法在列表中添加值

  • 在所选下标处前插
ABC = ["A", "B", "C"]

ABC.insert(0, "D")
print(ABC)

4.4 用 remove() 方法从列表中删除值

  • 只会删除第一个指定的值
ABC = ["B", "A", "B", "C"]

ABC.remove("B")
print(ABC)

4.5 用 pop() 方法从列表中删除值

  • 删除指定下标的元素
  • 不指定下标,默认为末尾元素
ABC = ["A", "B", "C"]
ABC.pop(1)
print(ABC)

4.6 用 sort() 方法将列表中的值排序

  • 列表仅由字母组成:按首字母的ANSCII码从小到大排序
  • 列表仅由数字组成:按照数字大小从小到大排序
  • 混合型列表无法排序
ABC = ["B", "A", "B", "C"]
ABC.sort()
print(ABC)
  • 可以传参reverse=True,将其改为逆序排序
ABC = ["B", "A", "B", "C"]
ABC.sort(reverse=True)
print(ABC)

4.7 用sorted() 方法将列表中的值临时排序

ABC = ["B", "A", "B", "C"]

print(ABC.sorted())
print(ABC)

4.7 用 reverse() 方法反转列表中的值

ABC = ["A", "B", "C"]

print(ABC.reverse())

5. 序列数据类型

5.1 可变和不可变数据类型

  • 列表:可变数据类型
  • 字符串:不可变数据类型

5.2 元组数据类型

  • 元组与列表相似,但元组无法修改
  • 无论元素数量,或者元素的值均无法修改
values = (1, 2, 3, 4, 5, 6, 7)

print(values[0])

5.3 用 list() 和 tuple() 函数来转换类型

print(tuple([1, 2, 3]))
print(list((1, 2, 3)))
print(list("123"))

6. 引用

6.1 标识和 id() 函数

  • id() 函数:获取地址
str = "ABC"

print(id(str))

6.2 传递引用

def ABC(list):
    list.append(123)


list = [1, 2, 3]
print(list)
ABC(list)
print(list)

6.3 copy 模块的 copy() 和 deepcopy() 函数

  • 如果要复制的列表为嵌套列表,则使用 deepcopy()
import copy

ABC = ["A", "B", "C"]


abc = copy.copy(ABC)
ABC[0] = "a"
print(ABC)
print(abc)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值