请稍候,加载中....

列表类型

列表类型是python中一个很重要的类型,列表是一个容器,可以把他想象为一个大箱子,里面有很多格子

在每个格子里可以放置其他类型的数据,比如数字、字符串,甚至可以是另一组格子

列表定义

# 列表用[],然后按照顺序列出他其中的所有元素[data1,data2,data3,....]
# 空列表
lists = []
print(lists)

# 包含5个整型元素的列表
lists = [1, 2, 3, 4, 5]

# 包含3个字符串类型元素的列表
lists = ["王二小", "李刚", "爱迪生"]

# 列表的元素类型可以为任何其他类型,包括列表类型
sub_lists_1 = ["python", "javascript"]
sub_lists_2 = ["c++", "golang"]
language_lists = [sub_lists_1, sub_lists_2]
print(language_lists)

列表切片操作

# 列表中成员的索引值与str的索引值相同计算方法,即可以正向索引也可以反向索引
lists = [1, 2, 3, 4, 5]

# 截取开始的3个元素
lists[0:3]

# 截取末尾的3个元素
lists[-3:]

# 选取步长为2
lists[::2]

列表运算

# 列表可以通过加运算实现两个列表的组合
list1 = [1, 2, 3]
list2 = [4, 5, 6]

# 两个列表可以通过+运算合成一个新的列表
# 但是列表不能进行减元算
list3 = list1 + list2
print(list3)

# 列表可以乘以一个正整数N
# 得到一个重复N次的新的列表
list4 = list1 * 4
print(list4)

列表切片赋值

列表属于可变类型, 可变类型可以通过切片改变他的成员值.

字符串属于不可变类型, 不支持切片赋值

字符串无法切片赋值示例

# 不可变类型不支持对切片赋值
string = "abc"
string[0] = "A"

输出:TypeError: 'str' object does not support item assignment

列表切片赋值示例

以下示例可以对lists的切片进行赋值

# 可变类型支持对切片赋值
lists = ["a", "b", "c"]
lists[0] = "A" # lists=>["A", "b", "c"]
lists[0:2] = ["A", "B"] # lists=>["A", "B", "c"]
lists = ["a", "b", "c"]
# 切片赋值并不是按照次序一一替换
# 而是将片段整体替换
lists[0:2] = ["A", "B", "C"] # lists=>["A", "B", "C", "c"]

Python中的可变类型拥有一些内置方法

查看可变序列类型支持的方法

列表内置对象方法

# 向列表添加元素append
lists = []
lists.append(1)
print(lists)
lists.append(2)

# 弹出元素pop
lists.pop(0)
print(lists)
lists.pop()

# 附加另一个列表元素extend
lists_1 = [1,2,3]
lists_2 = [10, 20, 30]

# lists_1 += lists_2
lists_1.extend(lists_2)
print(lists_1)

查看有序类型对象的方法


Python学习手册-