Python中最重要的数据结构就是序列,其中最常用到的是列表,元组,和字符串。
列表有别于元组和字符串的一个很特别且重要的地方就是:列表是可变的。
一、创建列表
创建列表通常有两种方式:
list1 = list();
list2 = [];
## 通过以上两条语句,都可以创建空列表
list()在这里实际上是一种类型,类似于类型的构造函数,其中可以添加创建列表的初始化值,例如:
list('Hello');
## 此条语句创建的列表如下 ['H', 'e', 'l', 'l', 'o'], 注意:list的参数只能有一个
二、列表的基本操作
列表的基本操作:
(1)对元素进行增,删,查,改;
(2)获取列表中某个元素出现的次数;
(3)修改列表中元素的顺序。
1、增删改查
增加元素的操作:
append(): 在列表末尾追加新的对象
extend( ):在列表末尾一次性追加另一个序列中的多个值
insert( ):将对象插入到列表中
list1 = [1, 2, 3];
list2 = [2, 3, 5, 6];
list1.append(4);
# The result of list1 is : [1, 2, 3, 4]
list1.extend(list2[1:3]);
# The result of list1 is : [1, 2, 3, 4, 3, 5]
list1.insert(3, 'four');
# The result of list1 is : [1, 2, 3, 'four', 4, 3, 5]
删除元素的操作有:
del 语句:del语句除了可以删除列表中的元素,还可以删除其他元素
pop():移除列表中的一个元素,默认情况下是最后一个元素,并且返回该元素的值
remove():移除列表中,某个值的,第一个匹配项
del list1[3];
# list1: [1, 2, 3, 4, 3, 5]
list1.pop();
# list1: [1, 2, 3, 4, 3]
val = list1.pop(0);
# val: 1
# list1: [2, 3, 4, 3]
list1.remove(3);
# list1: [2, 4, 3]
查找元素的操作:
[]:greeting[0],和C语言中的数组操作一样,在中括号中传递元素索引值来获取相应的元素 (用索引值来获取元素值)
index():在列表中找出某个值第一个匹配项的索引位置,返回元素索引值 (用元素值获取对应的第一个索引值)
print(list1[0]);
# 2
list1.index(4);
# 1
修改元素的操作:
list1[0] = 1
# list1: [1, 4, 3]
2、获取列表中某个元素的出现次数
list1 = [1, 2, 1, 2, 1, 1];
list1.count(1);
# 4
list2 = [[1,2], 3, 3,];
list2.count([1,2]);
# 1
3、修改列表中元素的顺序
sort():在原位置对列表进行排序,此操作会改变列表并返回空值,参数可以是一个排序函数
reverse():将列表中的元素反向存放,此操作会改变列表,但是没有返回值
list3 = [4, 3, 2, 1];
list3.sort();
# list3: [1, 2, 3, 4]
list3.reverse();
# list3: [4, 3, 2, 1]
list3.sort(reverse=True);
# list3: [4, 3, 2, 1]
list3.sort(cmp);
# list3: [1, 2, 3, 4]
*注意:cmp是Python中的内建函数,提供了sort的比较函数的默认实现方式