Python常用的内置数据结构主要有列表(list)、元组(tuple)、字典(dictionary)、集合(set)。其中列表是有序的可变对象集合,元组是有序的不可变对象集合,字典是无序的键值对集合,集合是无序的唯一对象集合。
列表(list)
列表是最常用的Python数据类型,列表中的每个元素都有一个索引(从0开始),其数据项不需要具有相同的类型,列表是可变序列,可以直接对其进行修改。
创建列表
使用方括号将以逗号分隔的不同数据项括起来。
list1 = ['physics', 1997, "a", (1,2,3), [4,5,6]]
访问列表元素
可通过索引或切片的形式访问列表中的元素。
list1[0] #输出 'physics'
list1[-2] #输出 (1,2,3)
list1[3][0] #输出 1
list1[0][5] #输出 'c'
list1[2:4] #输出 ['a', (1, 2, 3)] (左闭右开)
list1[:3] #输出 ['physics', 1997, 'a'] (不包括索引为3的元素)
list1[2:] #输出['a', (1, 2, 3), [4, 5, 6]]
更新列表
常用的更新列表的操作有添加元素、删除元素、修改元素。
- 添加元素
可调用append、extend、insert方法添加元素,其中append和extend方法均将元素添加到列表的末尾,append方法每次只能添加一个元素,而extend方法可通过元素列表的形式一次添加多个元素。insert方法可指定插入元素的位置。
# list1 = ['physics', 1997, "a", (1,2,3), [4,5,6]]
list1.append(5) #list1变为['physics', 1997, 'a', (1,2,3), [4,5,6], 5]
list1.append([5,6]) #list1变为['physics', 1997, 'a', (1,2,3), [4,5,6], [5, 6]]
list1.extend([5,6]) #list1变为['physics', 1997, 'a', (1,2,3), [4,5,6], 5, 6]
list1.extend([5,[6,7]]) #list1变为['physics', 1997, 'a', (1,2,3), [4,5,6], 5, [6, 7]]
list1.insert(2,"b") #list1变为['physics', 1997, 'b', 'a', (1,2,3), [4,5,6]]
- 删除元素
删除元素的方法有del(指定索引或切片)、remove(指定元素)、pop(指定索引,并返回索引处的值)、clear(清空列表元素)
# list1 = ['physics', 1997, "a", (1,2,3), [4,5,6]]
del list1[2] # list1 = ['physics', 1997, (1,2,3), [4,5,6]]
del list1[2:4] # list1 = ['physics', 1997, [4,5,6]]
list1.remove(1997) # list1 = ['physics', 'a', (1,2,3), [4,5,6]]
# 使用remove时,若列表中存在多个相同指定元素,则删除列表中第一次出现的指定元素
# 如 list1 = [1, 2, 3, 2]
list1.remove