学过C/C++等语言后,Python中的列表理解起来其实并不困难,Python中的列表类似于C/C++中的数组,但操作起来比数组灵活得多。列表是由一系列按特定顺序排列而成的元素组成,在同一列表的元素可以是同一类型的,也可以是不同类型的。
一、创建列表。
可以用以下方法创建一个空列表:
first_list=[]当然也可以创建的时候直接赋值:>>> first_list=[1,2,3,4,5,6]>>> first_list[1, 2, 3, 4, 5, 6]也可以将一个列表当做另一个列表的元素,实现嵌套>>> list1=[1,2]>>> list2=[3,4]>>> lists=[list1,list2]>>> lists[[1, 2], [3, 4]]>>> lists[0][0]1>>> lists[1][1]4还可以使用方法range()来创建数字列表在命令行直接写会出现错误,所以在文件中写,然后运行即可test_list=list(range(2,10))PRint(test_list)运行结果:[2, 3, 4, 5, 6, 7, 8, 9]二、访问列表1、使用索引访问列表时,索引可以是正值,0,负值。>>> first_list[1]2>>> first_list[-1]62、使用切片来访问列表,格式为list[index1,index2],这种方法返回list中下标在[index1,index2)之间的元素>>> test_list=[2,5,8,3,6,9]>>> slice_list=test_list[1:5]>>> slice_list[5, 8, 3, 6]>>> slice_list=test_list[2:]>>> slice_list[8, 3, 6, 9]>>> slice_list=test_list[:3]>>> slice_list[2, 5, 8]3、使用for..in..遍历列表中的元素>>> test_list=[2,5,8,3,6,9]>>> for val in test_list: print(val) 258369三、添加元素。列表有3种方式添加元素::1、使用方法append(obj)向列表末尾添加一个元素obj,此元素可以是列表,2、方法是使用方法insert(index,obj)在位置index添加元素obj。使用insert(index,obj)方法时要注意Python的列表下标是从0开始的。3、使用extend(list)在列表末尾添加另一个列表的所有元素,实现一次添加多个元素。>>> first_list[1, 2, 3, 4, 5, 6]>>> first_list.append(7)>>> first_list[1, 2, 3, 4, 5, 6, 7]>>> first_list.insert(2,0)>>> first_list[1, 2, 0, 3, 4, 5, 6, 7]>>> list1=[1,2]>>> list2=[3,4]>>> list1.extend(list2)>>> list1[1, 2, 3, 4]>>> list1=[1,2]>>> list2=[3,4]>>> list1.append(list2) #注意和extend(list)的差别>>> list1[1, 2, [3, 4]]四、删除元素。删除元素有3中方式:1、使用del语句删除元素;2、使用方法pop()方法删除列表末位元素或使用pop(index)删除列表index位置的函数,而且pop()方法会返回要删除元素的值;3、使用remove(obj)直接根据值而不是索引来删除元素.>>> del first_list[0] #使用del删除元素>>> first_list[2, 0, 3, 4, 5, 6, 7]>>> first_list.pop() #使用pop()删除末位元素7>>> first_list[2, 0, 3, 4, 5, 6]>>> first_list.pop(3) #使用pop(pos)删除first_list[pos]4>>> first_list[2, 0, 3, 5, 6]>>> first_list.remove(5) #使用remove(value)删除value>>> first_list[2, 0, 3, 6]若列表中有多个相同的值,方法remove(obj)只删除列表中第一个值obj>>> test_list=[1,2,1]>>> test_list.remove(1)>>> test_list[2, 1]五、排序1、使用方法sort()对列表进行永久排序,如果是字符串则按照字母表顺序排序,默认升序。
>>> first_list[2, 0, 3, 6]>>> first_list.sort()>>> first_list[0, 2, 3, 6]还可以向sort()传递参数reverse=True来降序排序。>>> test_list=[2,0,3,6]>>> test_list.sort(reverse=True)>>> test_list[6, 3, 2, 0]2、使用sorted()来临时排序,看以下代码:>>> first_list=[2,0,3,6]>>> print(sorted(first_list))[0, 2, 3, 6]>>> first_list[2, 0, 3, 6]也可以向sorted()传递参数reverse=True来降序排序:
>>> first_list=[2,0,3,6]>>> print(sorted(first_list,reverse=True))[6, 3, 2, 0]>>> first_list[2, 0, 3, 6]六、其他方法1、方法Index(obj)返回obj在list中的下标,如果有多个相同的值,则返回下标最小的,如果obj不在list中,则产生错误。>>> test_list=[2,0,3,6]>>> test_list.index(2)0 #test_list[0]=2>>> test_list.index(1)Traceback (most recent call last): File "<pyshell#68>", line 1, in <module> test_list.index(1)ValueError: 1 is not in list>>> test_list=[1,2,1]>>> test_list.index(1)02、方法count(obj)用来计算obj在list中出现的次数>>> test_list=[1,2,1]>>> test_list.count(1)2>>> test_list.count(2)1>>> test_list.count(3)03、使用len(list)确定列表list的长度>>> test_list=[1,2,3,4,5,6,7,8,9,0]>>> len(test_list)104、使用clear()清空列表>>> test_list=[1,2,3,4,5,6,7,8,9,0]>>> test_list[1, 2, 3, 4, 5, 6, 7, 8, 9, 0]>>> test_list.clear()>>> test_list[]
新闻热点
疑难解答