python基础知识——内置数据结构(列表)
列表是python中使用较多的一种数据结构,通常是作为函数的返回类型。相比较于元组,列表中的元素是可以修改的,可以实现添加、删除和查找的操作。
1、列表的创建
格式
list_name = [元素1, 元素2, ...]
例如
list_1 = ['beijing', 'shanghai', 'nanjing', 'wuhan']
print list_1
2、列表同样支持元组中的方法
- 索引访问
list_1 = ['beijing', 'shanghai', 'nanjing', 'wuhan']
print list_1 [1]#shanghai
- 负数索引
list_1 = ['beijing', 'shanghai', 'nanjing', 'wuhan']
print list_1 [-2]#nanjing
- 分片
list_1 = ['beijing', 'shanghai', 'nanjing', 'wuhan']
list_slice = list_1 [1:3]#['shanghai', 'nanjing']
print list_slice
- 多元列表
list_1 = ['beijing', 'shanghai']
list_2 = ['nanjing', 'wuhan']
list_3 = [list_1, list_2]
print list_3 [0][1]#shanghai
- 遍历
list_1 = ['beijing', 'shanghai', 'nanjing', 'wuhan']
for x in range(len(list_1)):
print list_1 [x]
- 另一种遍历方法
#coding:UTF-8
list_1 = ['beijing', 'shanghai', 'nanjing', 'wuhan']
for x in list_1:
print x#x取出的就是list_1中的元素
3、列表中的其他方法
- append方法用于在一个列表后增加一个对象,该对象可以是元组、列表、字典或者任何对象。
#coding:UTF-8
list_1 = ['beijing', 'shanghai', 'nanjing', 'wuhan']
list_1.append('guangzhou')
#['beijing', 'shanghai', 'nanjing', 'wuhan', 'guangzhou']
print list_1
- insert方法用于在指定位置处插入一个对象。
#coding:UTF-8
list_1 = ['beijing', 'shanghai', 'nanjing', 'wuhan']
list_1.insert(2, 'guangzhou')
#['beijing', 'shanghai','guangzhou', 'nanjing', 'wuhan']
print list_1
- remove方法用于删除列表中首次出现的value值。
#coding:UTF-8
list_1 = ['beijing', 'shanghai', 'nanjing', 'wuhan', 'shanghai']
list_1.remove('shanghai')
#['beijing', 'nanjing', 'wuhan', 'shanghai']
print list_1
- pop方法有两个用处,第一有index删除index处的值;第二没有index删除末尾的元素。
#coding:UTF-8
list_1 = ['beijing', 'shanghai', 'nanjing', 'wuhan', 'shanghai']
list_1.pop(1)#有index索引
#['beijing', 'nanjing', 'wuhan', 'shanghai']
print list_1
list_1.pop()#无index索引
#['beijing', 'nanjing', 'wuhan']
print list_1
- extend将iterable指定的元素添加到列表的末尾,与append方法的区别是指定的元素,而非对象。
#coding:UTF-8
list_1 = ['beijing', 'shanghai', 'nanjing', 'wuhan']
list_2 = ['guangzhou', 'HongKong']
list_1.extend(list_2)
#['beijing', 'shanghai', 'nanjing', 'wuhan', 'guangzhou', 'HongKong']
print list_1
可以使用的等价方法:“+”或者“+=”。
#coding:UTF-8
list_1 = ['beijing', 'shanghai', 'nanjing', 'wuhan']
list_2 = ['guangzhou', 'HongKong']
list_1 = list_1 + list_2
#['beijing', 'shanghai', 'nanjing', 'wuhan', 'guangzhou', 'HongKong']
print list_1
- index方法用于索引,返回的是value所在的index。
list_1 = ['beijing', 'shanghai', 'nanjing', 'wuhan']
print list_1.index('nanjing')#2
- sort方法用于列表的排序,对字符串的排序使用的是字典排序。
list_1 = ['beijing', 'shanghai', 'nanjing', 'wuhan']
list_1.sort(cmp=None, key=None, reverse=False)
print list_1#['beijing', 'nanjing', 'shanghai', 'wuhan']
- reverse方法用于列表的翻转。
list_1 = ['beijing', 'shanghai', 'nanjing', 'wuhan']
list_1.reverse()
#['wuhan', 'nanjing', 'shanghai', 'beijing']
print list_1