python初学一(list的处理方式)

一、列表的基本知识:

    1、列表的创建:

       ①、直接创建:

                  

       ②、用list()转化:

                    函数对象必须是iterable,list(iterable);

                    列表与字符串互相转化:

                             

                                                   

    2、列表可以进行拼接(+),类似str:

str1 = [1,2,]
str2 = ['a','b']
print(str1+str2)       相当于 str1.expend(str2)

二、列表元素的增删改查:

    1、增加元素:   append、extend、insert 

                         全是是list内部函数,不可用赋值的方法增加列表的元素,区别于dict。

        ①append  追加 : str.append()

                                 append函数没有return值,添加元素保存在原list中。

                               

                             

list1 = [1,2,'a']
list1.append([6,7,8])
print(list1)        # 结果 [1, 2, 'a', [6, 7, 8]]  注意与extend的区别。

                          

         ②expend 扩展 :str.extend()

                  

list1 = [1,2,'a']
list1.extend([777,888,9999])
print(list1)        #结果   [1, 2, 'a', 777, 888, 9999]

         ③insert 插入: str.insert()

                 

list1 = [1,2,'a']
list1.insert(2,[99,000])      # 先索引 后插入值
print(list1)          # 结果  [1, 2, [99, 0], 'a']   

    2、删除元素(pop、remove、del(系统函数)):

         ①pop():根据 索引,得到 值

           

list1 = [1,2,'a'] 
p = list1.pop()                   # 支持索引  默认最后一个  return删除元素
print(list1)                  #删除元素后的list
print(p)           # return删除元素
# 结果   [1, 2]
         a

    ②remove:根据  值,只删一个

             不知道索引时,指定元素删除,重复元素时默认只删除第一个,没有return值。

list1 = [1,2,'a',9999,9999,9999]
p = list1.remove(9999)
print(list1)
print(p)

            

        ③系统函数del: 根据 索引,不可访问

                          用法:del list[index] ,不加索引时全部删除,且删除不可访问,注意与  clear 区别 

list1 = [1,2,'a',9999,9999,9999]
del list1[3]           #
print(list1)

               

    3、修改元素和查看元素:

        ①查找元素: 

                        用索引的方式查找元素。

        ②修改元素:

                        用索引赋值的方式修改元素 : list1[index] = '    ',但是不可以利用赋值操作增加 索引范围 以外的元素(增加用append、extend)

    4、查找元素是否存在: in、not in  返回bool值

三、list函数:

        1、list常用的系统函数:max()  取最大值

                

             注意:      max 与  min 是按照ASCII码来排序,根据第一个字母,如果元素是列表,列表比较大小是按照列表第一个元素来比较。

                            

                            max 、min可用于字符串中。

list1 = [1,2,'a',9999,9999,9999]   
list2 = ['a78','123','sh']
list3 = [747,888,989]
print(max("29889aA7"))     
print(list1)                #报错  列表中int与str无法比较
print(list2) 
print(list3) 

    2、计数count, 扩展extend、索引index:

            

list1 = [1,2,'a',9999,9999,9999]
print(list1.count(9999))

print(list1.index(9999,4,5))

   3、反向reverse,排序sort,清空clear,复制copy:

                             

                   

                         注意        sort()没有返回值,改变原list

                                        copy()为浅拷贝

                                        sort()默认从小到大

         (1)list.clear() 注意事项:

               清空clear()请注意,建议用 赋值 空列表([]) 来清空。

list1 = [1,2,3]
list2 = []
list2.append(list1)           append追加列表时相当于追加一个 引用,他们共同使用一个内存空间,因此清空list1时list2也跟着清空。
print(list1,list2)
list1.clear()      
print(list1,list2)         # 结果 :  [1, 2, 3] [[1, 2, 3]]
                           #         [] [[]]


#   改进1、
import copy
list1 = [1,2,3]
list2 = []
list2.append(list1)
list2 = copy.deepcopy(list2)             深拷贝         
print(list1,list2) 
list1.clear()               
print(list1,list2)         # 结果 :   [1, 2, 3] [[1, 2, 3]]
                                      [] [[1, 2, 3]]
# 改进2、
        可以将源代码中 list1.clear() 改为 list1 = [] 。 打印结果与 改进1 结果相同。           

猜你喜欢

转载自blog.csdn.net/qq_16555103/article/details/83685961