一、创建list
list是一种有序的集合,可以随时添加和删除其中的元素。
构造list直接用 [ ] 把list的所有元素都括起来,就是一个list对象。通常,我们会把list赋值给一个变量,这样,就可以通过变量来引用list:
C = ['zhangsan','lisi','wangwu']
print(C)
结果为:
['zhangsan', 'lisi', 'wangwu']
由于Python是动态语言,所以list中包含的元素并不要求都必须是同一种数据类型
C = ['zhangsan', 100, True]
二、按照索引访问List
由于list是一个有序集合,所以,我们可以用一个list按分数从高到低表示出班里的3个同学:
C = ['zhangsan', 'lisi', 'wangwu']
通过索引来获取list中的指定元素。
索引从 0 开始,第一个元素的索引是0,第二个元素的索引是1,以此类推。
因此,要打印第一名同学的名字,用 C[0]:
print (C[0])
zhangsan
打印第二名同学的名字,用 C[1]:
print (C[1])
lisi
打印第三名同学的名字,用 C[2]:
print (C[2])
wangwu
要打印第四名同学的名字,用 C[3]:
print (C[3])
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
IndexError: list index out of range
报错了!IndexError意思就是索引超出了范围,因为上面的list只有3个元素,有效的索引是 0,1,2。
所以,使用索引时,千万注意不要越界。
三、倒序访问list
三名同学的成绩可以用一个list表示:
L = [95.5, 85, 59]
访问最后一名的成绩,可以用 -1这个索引来表示最后一个元素。
L = [95.5, 85, 59]
print(L[-1])
倒数第二名用 -2表示,倒数第三用-3表示。
使用倒序索引时,也要注意不要越界
四、添加新元素
班里有3名学生:
C = ['zhangsan', 'lisi', 'wangwu']
现在准备加入一名学生。
第一个办法是用 list 的 append() 方法,把新同学追加到 list 的末尾:
C = ['zhangsan', 'lisi', 'wangwu']
C.append('zhaoliu')
print (C)
['zhangsan', 'lisi', 'wangwu', 'zhaoliu']
append()总是把新的元素添加到 list 的尾部。
第二个方法是用list的 insert()方法,它有两个参数,第一个参数是索引号,第二个参数是待添加的新元素:
例如把zhaoliu添加到list中的第二个位置:
C = ['zhangsan', 'lisi', 'wangwu']
C.insert(1,'zhaoliu')
print (C)
['zhangsan', 'zhaoliu','lisi', 'wangwu']
后面的所有同学,都自动向后移动一位。
五、删除元素
现在要将zhaoliu转走,将他从List中删除,即删除元素,
我们可以用list的pop()方法删除,pop()方法总是删掉list的最后一个元素,并且它还返回这个元素
从List中可以看到zhaoliu在第二个,索引1,因此删除zhaoliu应使用
C.pop(1)
C = ['zhangsan', 'zhaoliu','lisi', 'wangwu']
C.pop(1)
'zhaoliu'
print (C)
['zhangsan', 'lisi', 'wangwu']
六、替换元素
C=['zhangsan', 'lisi', 'wangwu']
将wangwu替换成zhaoliu,可以直接删除wangwu,然后添加zhaoliu.
另一个办法是直接用zhaoliu把wangwu给替换掉:
C[2] = 'zhaoliu'
print (C)
C=['zhangsan', 'lisi', 'zhaoliu']
对list中的某一个索引赋值,就可以直接用新的元素替换掉原来的元素,list包含的元素个数保持不变。