引言:Python中常用的三种数据结构:列表(List)、元组(Tuple)和字典(Dictionary),本文章将介绍这三大类型的创建和操作。
1.List
List(列表)是处理一组有序元素的数据结构,每个元素之间用逗号隔开,所有元素包含在一个方括号内。
List(列表)是中可变的数据类型,可以在列表中添加任何类型的元素。列表的创建格式如下:
list_name = [element1, element2, element3,...]
常用操作
1)添加元素append(value)
#encoding:utf-8 import sys #定义一个含有5个元素的列表 userlist = ['211410','211411','211412','211413','211414']
#使用len()获取列表的元素个数 type = sys.getfilesystemencoding()
print '目前列表中有'+str(len(userlist))+'个元素'
userlist.append('211415') print '新添加一个元素'
print '目前列表中有'+str(len(userlist))+'个元素,他们是' for item in userlist: print item
''' 目前列表中有5个元素 新添加一个元素 目前列表中有6个元素,他们是 211410 211411 211412 211413 211414 211415 '''
|
2)在索引位置插入元素insert(index, value)
点点滴滴
#encoding:utf-8 import sys #定义一个含有5个元素的列表 userlist = ['211410','211411', '211412','211413','211414']
#使用len()获取列表的元素个数 type = sys.getfilesystemencoding()
for item in userlist: print item
#在2个位置上插入元素'2114105' userlist.insert(2, '211415') for item in userlist: print item
''' 输出结果 目前列表中有5个元素,它们是 211410 211411 211412 211413 211414 目前列表中有6个元素,它们是 211410 211411 211415 211412 211413 211414 ''' |
3)删除元素remove(value) 和 del list_name[index]
点点滴滴
#encoding:utf-8 import sys #定义一个含有5个元素的列表 userlist = ['211410','211411', '211412','211413','211414']
#使用len()获取列表的元素个数 type = sys.getfilesystemencoding()
for item in userlist: print item
userlist.remove('211411') for item in userlist: print item
del userlist[0]
for item in userlist: print item ''' 目前列表中有5个元素,它们是 211410 211411 211412 211413 211414 目前列表中有4个元素,它们是 211410 211412 211413 211414 目前列表中有3个元素,它们是 211412 211413 211414 ''' |
4)分片赋值
分片(slice)是列表的一个子集,分片是从第1个索引到第2个(不包含第二个索引位置的元素)所指定的所有元素。
list_name[m:n]
>>> user_list = ['alvin', 'haoqiang', 'ketty', 'nathan', 'david'] >>> user_list[2:4] ['ketty', 'nathan'] |
分片是一个非常强大的工具,分片赋值则更强大。
#encoding:utf-8
#使用list()方法,定义一个6元素列表
list_demo = list('Python') print list_demo
#使用分片,从第3个元素开始到结束,赋值为rite
list_demo[2:] = list('rite')
print list_demo ''' Output ———————————————— ['P', 'y', 't', 'h', 'o', 'n'] ['P', 'y', 'r', 'i', 't', 'e'] ''' |
分片赋值语句可以在不需要任何原有元素的情况下插入新元素:
numbers = [0, 6]
numbers[1:1] = [1,2,3,4,5]
print numbers ''' [0, 1, 2, 3, 4, 5, 6] ''' |
5)列表的连接list1.extend(list2)
list1 = ['001', '002', '003', '004'] list2 = ['005', '006', '007'] list1.extend(list2) print list1 ''' ['001', '002', '003', '004', '005', '006', '007'] ''' |
extend方法并非真正的连接了两个列表,它会返回一个全新的列表。
‘+’连接两个列表
list3 = ['001', '002', '003', '004'] list4 = ['005', '006', '007'] list5 = list3+list4 print list5 ''' ['001', '002', '003', '004', '005', '006', '007'] ''' #+=号连接列表与List类中的append方法功能相同 list5 += ['008'] print list5 ''' ['001', '002', '003', '004', '005', '006', '007', '008'] ''' |
6)查找list_name.index(value)和(emelemt in list_name)
点点滴滴
list1 = ['001', '002', '003', '004','005', '006', '007'] if '002' in list1: print list1.index('002')#1 |
7)排序sort()和反转reverse()
sort()在原始位置排序,会改变原始元素的位置,并不是返回一个列表的排序副本