python基本数据结构——列表

一、python基本数据结构——列表

​ 列表可以实地的增长或者缩短(长度可变),并且可以包含任何类型的对象而不仅仅是包含有单个字符的字符串(异构)

​ 从技术上来讲,Python列表包含了零个或多个其他对象的引用

1、列表的删除

  1. 使用str.remove命令按值进行删除

    str=[1,2,3,4,5,2,6]
    str.remove(2)
    print(str)
    [1, 3, 4, 5, 2, 6]
    
  2. 使用str.pop命令按位进行删除,但是在删除同时会返回该值

    str=[0,1,2,3,4,5,6]
    str.pop(1)
    print(str)
    [0, 2, 3, 4, 5, 6]
    
  3. 使用del命令按位置进行删除,同时也能删除指定范围的值

    str=[1,2,3,4,5,2,6]
    del str[1]
    [1, 3, 4, 5, 2, 6]
    #del命令也能删除指定范围的值
    del str[1:3]
    
    

2、列表添加数据

  1. 使用list.append(x)命令在列表最后一位添加上x

    str=[1,2,3,4,5,2,6]
    str,append(7)
    print(str)
    [1,2,3,4,5,2,6,7]
    
  2. 使用list.insert(n,x)命令在位置n上添加x

    str=[1,2,3,4,5,2,6]
    str.insert(2,1)
    print(str)
    [1,2,1,3,4,5,2,6]
    
  3. 使用list.extend(seq)在列表中一次性追加一个序列的多个值

    list1 = ['UESTC, 'SZ', 'AS']
    list2=list(range(5)) # 创建 0-4 的列表
    list1.extend(list2)  # 扩展列表
    print ("扩展后的列表:", list1)
    扩展后的列表: ['UESTC, 'SZ', 'AS', 0, 1, 2, 3, 4]
    

3、其他常见的列表操作

  1. 使用list.index(x)搜索元素x在列表中的位置

  2. 使用list.count(x)搜索元素x在列表中出现的次数

  3. 使用list.sort()将列表数字从小到大排列,字母从a-z排列

    • 注意列表中元素应该为同一类型,否则报错
  4. 使用list.reverse()对列表进行反转操作

  5. 使用list.copy()对列表进行浅拷贝

    • 赋值对可变和不可变数据都只复制一个引用。

    • 浅拷贝开辟新内存存储不可变数据但是对可变数据(列表、字典、函数、类等)也只是复制一个引用。

    • 深拷贝对所有数据都开辟内存地址进行储存。但是拷贝速度最慢

      #深拷贝
      import copy
      extra_list = [1,2,3]
      #在old_list中加入可变数据
      old_list = ['pyhton','小黑屋',extra_list]
      #深拷贝
      new_list7 = copy.deepcopy(old_list)
      
  6. 使用len(list)max(list)min(list)

  7. 列表和字符串都是序列因此都支持使用+*符号进行合并和重复。但是两边必须是相同类型的序列

    >>'a'*4+'bcd'
     'aaaabcd'
    >>['a',[1,2]]+[1]*4
    ['a', [1, 2], 1, 1, 1, 1]
    
  8. 使用map(fun,iterable)filter(fun,iterable)的遍历和迭代格式

    • map()是接收一个函数 f 和一个 可迭代对象(这里理解成 list),并通过把函数 f 依次作用在 list 的每个元素上,得到一个新的 list 并返回

      >>>list(map(abs,[-1,-2,0,-3,-4]))
      [1,2,0,3,4]
      
    • filter()循环可以迭代的对象,传入函数中执行,如果不符合就过滤

      def is_odd(n):
          return n%2 == 1
      templist = list(filter(is_odd,[1,2,3,4,5,6,7,8,9]))
      print(templist)
      #输出
      [1,3,5,7 ,9]
      

你可能感兴趣的:(list,python)