列表是任意对象组成的序列(即列表、元组、字符串、Unicode字符串、buffer对象和 xrange 对象)。序列通用的操作包括:索引、长度、组合(序列相加)、重复(乘法)、分片、检查成员、遍历、最小值和最大值。
列表使用从0开始的的整数索引,使用索引运算符可以访问并修改列表中的项。
首先我们创建两个列表,如下所示:
list1 = ["123", "hello", "456", "world"]
list2 = ["zxc", "asd", "qwe"]
当然你可以使用print(list)将列表全部打印!!!
- 1.使用for循环
list1 = ["123", "hello", "456", "world"]
for temp in list1:
print(temp)
list1 = ["123", "hello", "456", "world"]
for i, temp in enumerate(list1):
print(i, temp)
list1 = ["123", "hello", "456", "world"]
for i in range(len(list1)):
print(i, list1[i])
list1 = ["123", "hello", "456", "world"]
for temp in iter(list1):
print(temp)
其中python内置了11中操作列表的方法,将在下一节详细介绍
- 使用索引号访问或者修改某一项
a = list1[3]#访问列表的第四项world
#打印观察修改后的列表
list1[3] = "sex"
for temp in iter(list1):
print(temp)
#观察一下打印结果
list1.append("tail")
list1[3] = "sex"
for temp in iter(list1):
print(temp)
#观察一下打印结果
list1.insert(2, "this")
for temp in iter(list1):
print(temp)
list1 = ["123", "hello", "456", "world", "aaa", "bbb", "ccc"]
del list1[2] #删除了“456”这一项
print(list1)
list1 = ["123", "hello", "456", "world"]
a = list1[1 : 2]
for temp in a:
print(temp)
b = list1[2 :]
for temp in b:
print(temp)
list1[2 :] = ["aaa", "bbb","ccc"]
for temp in list1:
print(list1)
打印结果如下:
hello #这是打印列表a的项
456 #这是打印列表b的项
world #这是打印列表b的项
注意比较好玩的地方来了 — 列表的拼接
list1 = ["123", "hello", "456", "world"]
list1[2 :] = ["aaa", "bbb","ccc"]
print(list1)
list1 += list2
print(list1)
这个实验需要亲自感受一下才能感觉出他的好玩,为什么?列表竟然可以像一个整型变量一样相加,就跟我们玩的“弥竹竿”一样,比起C语言来说简直是不能再方便了。
废话不说直接上验证结果
如上图,红框部分说明了什么问题?
一个赋值语句,竟然将列表的长度改变了!!!既然可以增加,那么能不能通过这种手段来删除列表的项呢?(当然是可以的,自己验证一下)
第二行打印,就证实了我上面所说的,两个列表竟然可以相加。
name = []
print(name)
name1 = list()
print(name1)
打印结果如下:
[]
[]
len(list1) #计算列表的长度
list1 + list2 #列表的组合
["ha"] * 3 #重复,等价于["ha", "ha", "ha"]
"123" in list1 #元素是否在列表中,返回值为布尔类型
列表的创建
列表遍历的四种方法
以及一些简单的操作列表的方法,最有意思的是我们在使用切片运算符对列表进行操作时,发现了一些有意思的东西
本节还遗留了一些问题:python 11 种内置的列表操作方法;列表推导(list comprehension)