DAY 002--list(增、删、改、查、排)

list常见的用法                                                                        

列表基础:                                                                              

1、列表是Python中最基本的数据结构,列表是最常用的Python数据类型列表的数据项不需要具有相同的类型

2、列表中的每个元素都分配一个数字 - 它的位置参数,或索引,第一个索引是0,第二个索引是1,依此类推。

3、序列都可以进行的操作包括索引切片检查成员。此外,Python已经内置确定序列的长度以及确定最大和最小的元素的方法。

4、Python有6个序列的内置类型,但最常见的是列表元组

5、列表举例:["四川","湖南","山东","黑龙江"]

增:                                                                                        

1、list.append(obj)                                                                                                

  • obj -- 添加到列表末尾的对象。
aList = [123, 'xyz', 'zara', 'abc'];
aList.append( 2009 );
print("Updated List : ", aList)

Updated List :  [123, 'xyz', 'zara', 'abc', 2009]

2、list.insert(index, obj)                                                                                        

  • index -- 对象 obj 需要插入的索引位置。
  • obj -- 要插入列表中的对象。
aList = [123, 'xyz', 'zara', 'abc']

aList.insert( 3, 2009)#插入的值2009的序列为3

print("Final List : ", aList)

 

Final List : [123, 'xyz', 'zara', 2009, 'abc']

3、list.extend(seq)                                                                                               

  • seq -- 元素列表
aList = [123, 'xyz', 'zara', 'abc', 123];
bList = [2009, 'manni'];
aList.extend(bList)
print("Extended List : ", aList)

 
Extended List :  [123, 'xyz', 'zara', 'abc', 123, 2009, 'manni']

4、list+list                                                                                                           

  • 两个list直接相加即可 
alist=[1,2,3]
blist=[4,5,6]
print("alist+blist:",alist+blist)

alist+blist:[1, 2, 3, 4, 5, 6]

删:                                                                                        

1、list.remove(obj)                                                                                                

  • obj -- 列表中要移除的对象
aList = [123, 'xyz', 'zara', 'abc', 'xyz'];

aList.remove('xyz');
print"List : ", aList)

List :  [123, 'zara', 'abc', 'xyz']

2、list.pop(obj=list[-1])                                                                                          

  • obj -- 可选参数,要移除列表元素的对象。
  • 该方法返回从列表中移除的元素对象。
list1 = ['Google', 'Runoob', 'Taobao']
list1.pop()

print ("列表现在为 : ", list1)

列表现在为 :  ['Google', 'Runoob']

3、list.clear()=del list[:]                                                                                          

list1 = ['Google', 'Runoob', 'Taobao', 'Baidu']
list1.clear()
print ("列表清空后 : ", list1)

列表清空后 :  []

4、del list[index]                                                                                                   

  • Index -- 可选,元素的索引
list = ['Google', 'Runoob', 1997, 2000] 
print (list) del list[2] 
print ("删除第三个元素 : ", list)


删除第三个元素 : ['Google', 'Runoob', 2000]

改:                                                                                        

list[index]=new_value                                                                                        

list = ['Google', 'Runoob', 1997, 2000] 
print ("第三个元素为 : ", list[2]) 
        
第三个元素为 :  1997

查:                                                                                        

list[index]                                                                                                             

  • Index -- 元素的索引
print(names[3])         #访问列表中第4个值
print(names[1:3])       #访问列表中从第2个到第3个的值
print(names[-1])        #访问列表中的最后一个值
print(names[:-2])       #访问列表中的所有值,但是把倒数第二个及后面的所有值都去掉
print(names[-3:])       #访问列表中倒数第一个到倒数第三个的值
print(names[0],names[3])#注意取多个值的时候,不能直接把下标写到一起,需要按照这种方式写
print(names[::2])       #打印列表,但是以2为步长,就是跳着切,也可以根据需求把这个步长给改了

enumerate(list)                                                                                                   

  • 查看列表的index和对应的值
for index,value in enumerate(list):
    print(index,value)

#输出结果
0 1
1 2
2 3
3 4

排序:                                                                                   

1、list.sort([func])                                                                                                  

  • func -- 可选参数, 如果指定了该参数会使用该参数的方法进行排序。
list1 = ['Google', 'Runoob', 'Taobao', 'Baidu']
list1.sort()
print ("列表排序后 : ", list1)
        
列表排序后 :  ['Baidu', 'Google', 'Runoob', 'Taobao']

2、sorted(iterable,key=None,reverse=False)                                                 

  • key接受一个函数,这个函数只接受一个元素,默认为None
  • reverse是一个布尔值。如果设置为True,列表元素将被倒序排列,默认为False
  • key指定一个接收一个参数的函数,这个函数用于从每个元素中提取一个用于比较的关键字。默认值为None 。 
students = [('john', 'A', 15), ('jane', 'B', 12), ('dave','B', 10)]
        
sorted(students,key=lambda s: x[2]) #按照年龄来排序
        
结果:[('dave','B', 10), ('jane', 'B', 12), ('john', 'A', 15)]

3、sort   v.s  sorted区别                                                                                        

  • orted(list)返回一个对象,可以用作表达式。原来的list不变,生成一个新的排好序的list对象。
  • list.sort() 不会返回对象,改变原有的list

其他用法:                                                                             

1、list.reverse()                                                                                                     

  • 会对列表的元素进行反向排序
list1 = ['Google', 'Runoob', 'Taobao', 'Baidu']
list1.reverse()
print ("列表反转后: ", list1)

列表反转后:  ['Baidu', 'Taobao', 'Runoob', 'Google']

2、len(list)                                                                                                           

  • 返回列表的长度,也就是元素的个数

3、list.count(obj)                                                                                                  

  • obj -- 列表中统计的对象
aList = [123, 'Google', 'Runoob', 'Taobao', 123];
print ("123 元素个数 : ", aList.count(123))
        
123 元素个数 :  2

4、list.index(obj)                                                                                                  

  • obj -- 查找的对象
  • 该方法返回查找对象的索引位置,如果没有找到对象则抛出异常
list1 = ['Google', 'Runoob', 'Taobao']
print ('Runoob 索引值为', list1.index('Runoob'))
        
Runoob 索引值为 1

Mark on 2018.4.6

原文地址:https://www.cnblogs.com/JunSheep/p/8725776.html