python列表的常用操作方法
1. 列表添加数据:
1、list.append()添加对象:
2、list.extend(list1)扩展列表:
3、list.insert()插入对象:
4、list.copy()复制列表(python3)
eg:
list = [6, 4, 5, 2, 744, 1, 76, 13, 8, 4]
list.insert(3, "test")#将对象插入列表的第三个位置 print(list)#[6, 4, 5, 'test', 2, 744, 1, 76, 13, 8, 4]
list.append("obj") # 在列表末尾添加新的对象 print(list)#[6, 4, 5, 2, 744, 1, 76, 13, 8, 4, 'obj']
list1 = [123, 456, 789] list.extend(list1) # 扩展列表,在列表末尾一次性追加另一个列表中的多个值(相当于把list1的元素复制到 了list) print(list)#[6, 4, 5, 2, 744, 1, 76, 13, 8, 4, 123, 456, 789]
list2 = list.copy()
print(list2)#[6, 4, 5, 2, 744, 1, 76, 13, 8, 4]
2. 列表删除元素
1、list.pop()删除元素:
2、list.clear()清空列表(python3)
3、list.remove() 删除匹配项:
eg:
- pop(index): 函数用于移除列表中的一个元素(默认最后一个元素),并且返回该元素的值。
index -- 可选参数,要移除列表元素的索引值,不能超过列表总长度,默认为 index=-1,删除最后一个列表值。
返回值:
该方法返回从列表中移除的元素对象
list1 = ['Google', 'Runoob', 'Taobao'] list1.pop() print ("列表现在为 : ", list1) list1.pop(1) print ("列表现在为 : ", list1)
列表现在为 : ['Google', 'Runoob'] 列表现在为 : ['Google']
- remove(obj)函数用于移除列表中某个值的第一个匹配项
obj -- 列表中要移除的对象。
返回值:该方法没有返回值但是会移除两种中的某个值的第一个匹配项。
list1 = ['Google', 'Runoob', 'Taobao', 'Baidu'] list1.remove('Taobao') print ("列表现在为 : ", list1) list1.remove('Baidu') print ("列表现在为 : ", list1)
列表现在为 : ['Google', 'Runoob', 'Baidu'] 列表现在为 : ['Google', 'Runoob']
- clear() :函数用于清空列表,类似于 del a[:]。
无参数,无返回值
list1 = ['Google', 'Runoob', 'Taobao', 'Baidu'] list1.clear() print ("列表清空后 : ", list1)
列表清空后 : []
3. 列表查找元素
1、list.index()查找对象:
2、list.count()查找出现次数
- index(obj) 函数用于从列表中找出某个值第一个匹配项的索引位置。
obj -- 查找的对象。
返回值:该方法返回查找对象的索引位置,如果没有找到对象则抛出异常。
list1 = ['Google', 'Runoob', 'Taobao'] print ('Runoob 索引值为', list1.index('Runoob')) print ('Taobao 索引值为', list1.index('Taobao'))
Runoob 索引值为 1 Taobao 索引值为 2
- count() 方法用于统计某个元素在列表中出现的次数。
obj -- 列表中统计的对象。
返回值:返回元素在列表中出现的次数。
aList = [123, 'Google', 'Runoob', 'Taobao', 123]; print ("123 元素个数 : ", aList.count(123)) print ("Runoob 元素个数 : ", aList.count('Runoob'))
123 元素个数 : 2 Runoob 元素个数 : 1
4. 列表操作元素
1、list.reverse():反向列表中元素
2、list.sort()对原列表进行排序
- reverse() 函数用于反向列表中元素。
返回值:该方法没有返回值,但是会对列表的元素进行反向排序。
list1 = ['Google', 'Runoob', 'Taobao', 'Baidu'] list1.reverse() print ("列表反转后: ", list1)
列表反转后: ['Baidu', 'Taobao', 'Runoob', 'Google']
- sort(cmp=None, key=None, reverse=False)函数用于对原列表进行排序,如果指定参数,则使用比较函数指定的比较函数。
cmp -- 可选参数, 如果指定了该参数会使用该参数的方法进行排序。
key -- 主要是用来进行比较的元素,只有一个参数,具体的函数的参数就是取自于可迭代对象中,指定可迭代对象中的一个元素来进行排序。
reverse -- 排序规则,reverse = True 降序, reverse = False 升序(默认)。
返回值:该方法没有返回值,但是会对列表的对象进行排序。
aList = ['Google', 'Runoob', 'Taobao', 'Facebook'] aList.sort() print ( "List : ", aList)
List : ['Facebook', 'Google', 'Runoob', 'Taobao']
5. 列表常用函数
1、cmp(list1, list2):方法用于比较两个列表的元素。
2、len(list): 列表元素个数
3、max(list):返回列表元素最大值
4、min(list):返回列表元素最小值
5、list(seq):将元组转换为列表
cmp() 返回值:
如果比较的元素是同类型的,则比较其值,返回结果。
如果两个元素不是同一种类型,则检查它们是否是数字。
- 如果是数字,执行必要的数字强制类型转换,然后比较。
- 如果有一方的元素是数字,则另一方的元素"大"(数字是"最小的")
- 否则,通过类型名字的字母顺序进行比较。
如果有一个列表首先到达末尾,则另一个长一点的列表"大"。
如果我们用尽了两个列表的元素而且所 有元素都是相等的,那么结果就是个平局,就是说返回一个 0。
list1, list2 = [123, 'xyz'], [456, 'abc'] print cmp(list1, list2); -1 print cmp(list2, list1); 1 list3 = list2 + [786]; print cmp(list2, list3) -1
len() 返回值:
返回列表元素个数。
list1, list2 = [123, 'xyz', 'zara'], [456, 'abc'] print "First list length : ", len(list1); 3 print "Second list length : ", len(list2); 2
max()返回值:
返回列表元素中的最大值。
list1, list2 = [123, 'xyz', 'zara', 'abc'], [456, 700, 200] print "Max value element : ", max(list1); zara print "Max value element : ", max(list2); 700
min() 返回值:
返回列表元素中的最小值。
list1, list2 = [123, 'xyz', 'zara', 'abc'], [456, 700, 200] print "min value element : ", min(list1); 123 print "min value element : ", min(list2); 200
list() 方法用于将元组转换为列表。
注:元组与列表是非常类似的,区别在于元组的元素值不能修改,元组是放在括号中,列表是放于方括号中。
返回值:返回列表
aTuple = (123, 'xyz', 'zara', 'abc'); aList = list(aTuple) print "列表元素 : ", aList
列表元素 : [123, 'xyz', 'zara', 'abc']