美文网首页
python06_列表

python06_列表

作者: 詹亮的小仓库 | 来源:发表于2020-03-05 15:57 被阅读0次

变量类型-List

  1. list

    列表的数据项不需要具有相同的类型

    List(列表) 是 Python 中使用最频繁的数据类型。

    列表可以完成大多数集合类的数据结构实现。它支持字符,数字,字符串甚至可以包含列表(即嵌套。

  2. 列表取值
    列表用 [ ] 标识,是 python 最通用的复合数据类型。

    my_list01=[1,3,5,7,9,11]
    #my_list01 # 输出完整列表
    #my_list01[0] # 输出列表的第一个元素
    #my_list01[-1] # 输出列表的最后一个元素
    for item in my_list01:
    print(item)

     for i in range(len(my_list01)):
         print(my_list01[i])
     加号 + 是列表连接运算符,星号 * 是重复操作。
     
     my_list02=[10,30,50]
     
     my_list03=my_list01+my_list02 #列表合并
     
     my_list04=my_list01*3 
    
  3. 切片

    列表中值的切割也可以用到变量 [头下标:尾下标] ,就可以截取相应的列表,从左到右索引默认 0 开始,从右到左索引默认 -1 开始,下标可以为空表示取到头或尾。

               list=[1,3,5,7,9,11]
        
        # 获取第二个至第三个元素 
        list[1:3]           
        
        # 获取从第三个开始至列表末尾的所有元素
        list[2:]            
        
        # 获取从第0个开始至第五个列表元素
        list[:5]
        
        # 获取列表所有元素
        list[:]
        
        # 步长为2 
        list[::2]           
        
        # 反转数组
        list[::-1]      
        
        # 从后往前截取
        list[-1:-3:-1]  
    
  4. list 内置函数

    fruits = ['orange', 'apple', 'pear', 'banana']
    
    1. 统计

       print (fruits.count('apple'))
      
    2. 判断是否存在

       如果没有找到会异常
      
           print (fruits.index('apple')) 
           print ('apple' in fruits)
       
       
           # 从第三个位置开始寻找
           # print (fruits.index('apple',3))
      
    3. 反转

           fruits.reverse()
      
    4. 排序

           fruits.sort()
      
    5. 增加元素

            fruits.append('kiwi')
           # 增加集合
         fruits.extend(['kiwi','water'])
      
    6. 合并两个列表

         new_fruits=fruits+['kiwi','water']
      
    7. 插入元素

           fruits.insert(0,'pick');
      
    8. 删除聊表末尾的元素

       # fruits.pop()
       # fruits.pop(index)  删除指定位置的元素
      
    9. 删除元素

           # fruits.remove('apple')
           # fruits.remove(fruits[2])
           # del fruits[1]
           # 删除单个元素
           # fruits[1:2]=[]
           # 删除多个元素
           # fruits[2:4]=[]
      
    10. 替换元素

      # fruits[0:3]=['橙子','苹果','梨']
      
    11. 拷贝

      浅拷贝

      fruits_copy01=fruits[:]
      fruits_copy02=fruits.copy()
      

      深拷贝

    12. 清空元素

    # fruits.clear()
        # del fruits[:]  #不同于del fruits
        # fruits[ : ]=[]
    
    1. 最大最小值

       # print(max(fruits))
       # print(min(fruits))    
      
  5. 多维数组

     list01=[1,3,[5,7,9,11]]
    
    1. 浅拷贝

       list02=list01.copy()
       list03=list01[:]
      
    2. 深拷贝

       import copy
      
       list02=copy.deepcopy(list01)
      
  6. 栈和队列

     from collections import deque
     fruits = ['orange', 'apple', 'pear', 'banana']
     # from collections import deque
     #
     queue = deque(fruits)
     
     # 先进先出
     queue.append('haha')
     queue.popleft()
     
     # 先进后出
     queue.append('')
     queue.pop()
     
     print(list(queue))
    
  7. 列表初始化,插值表达式

     squares=[]
     squares=[x**2 for x in range(10)]
     vec = [-4, -2, 0, 2, 4]
    
     vec2=[x*2 for x in vec]
    
     vec3=[x for x in vec if x >= 0]
    
     vec4=[abs(x) for x in vec]
     
     print ([(x, x**2) for x in range(6)])
    
     squares=[]
    
     squares=list(map(lambda x: x**3, range(10)))
     
     #lists=[[(x, y) 外层循环 内层循环 if x != y]]
    
     lists=[(x, y) for x in [1,2,3] for y in [3,1,4] if x != y]
    
     # [(1, 3), (1, 4), (2, 3), (2, 1), (2, 4), (3, 1), (3, 4)]
    
     去掉列表元素单词左右空格
    
     # freshfruit = ['  banana', '  loganberry ', 'passion fruit  ']
     #
     # # 去掉单词左右空格
    
     # freshfruit=[weapon.strip() for weapon in freshfruit]
    
    
     读取二维数组
    
    
     vec = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
    
     list1=[num for elem in vec for num in elem]
     list2=[[elem[i] for elem in vec] for i in range(3)]
     print(list2)
    
  8. list去重

    方法一:新建新数组

    方法二:

        list01=[1,2,2,2,3,4,2,5,4,2]
        le=len(list01)
        i=0
        while i<le-1:
            j=i+1
            while j<le:
                if list01[i]==list01[j]:
                    list01.remove(list01[i])
                    le-=1
                    i-=1
                    break
                j+=1
            i+=1
        
        
        print(list01)
    

    方法三:(删除后面所有与当前元素相同的元素)

        list01=[1,2,2,2,3,4,2,5,4,2]
        le=len(list01)
        i=0
        while i<le-1:
            j=i+1
            while j<le:
                if list01[i]==list01[j]:
                    list01.pop(j)
                    le-=1
                    j-=1
                j+=1
            i+=1
        
        print(list01)
    
  9. python中的list和array的不同之处

    python中的list是python的内置数据类型,list中的数据类不必相同的,而array的中的类型必须全部相同。在list中的数据类型保存的是数据的存放的地址,简单的说就是指针,并非数据,这样保存一个list就太麻烦了,例如list1=[1,2,3,'a']需要4个指针和四个数据,增加了存储和消耗cpu。

    补充了解:map()

    map() 会根据提供的函数对指定序列做映射。

    第一个参数 function 以参数序列中的每一个元素调用 function 函数,返回包含每次 function 函数返回值的新列表。

    map(function, iterable, ...)


返回值
Python 2.x 返回列表。

Python 3.x 返回迭代器。


    arr=[1,2,3,4]

    mm=map(lambda x:x ** 2,arr)
    print(next(mm))
    
    for res in mm:
        print(res)

相关文章

  • python06_列表

    变量类型-List list列表的数据项不需要具有相同的类型List(列表) 是 Python 中使用最频繁的数据...

  • Markdown 系列(三) 列表

    无序列表 由圆点组成的列表 列表1 列表2 列表3 列表1 列表2 列表3 列表1 列表2 列表3 +-*这三种符...

  • markdown常用的语法

    列表 有序列表: 列表项 1 列表项 2 无序列表: 列表项 1 列表项 2 列表项 3 列表项 4 列表项缩进两...

  • markdown常用语法

    标题 列表 无序列表- 列表1 - 列表1.1 -列表1.2- 列表2 有序列表1. 列表1 1. 列表1....

  • html阶段第二节第一天

    高级标签 列表标签 无序列表 列表一 列表二 ...... 有序列表 列表一 列表二 ...... 定义列表dl...

  • markdown测试

    段落 三级标题 四级标题 五级标题 列表 无序列表 列表1 列表2 列表3 列表1 列表2 列表3 有序列表 列表...

  • 学习小组Day1笔记-Herobrine

    Day1-Herobrine 列表 无序列表 无序列表 无序列表 无序列表 有序列表 有序列表 有序列表 有序列表...

  • H5学习从0到1-H5列表(8)

    列表的基本语法 ol:有序列表 ul:无序列表 li:列表项 dl:列表 dt:列表项 dd:列表描述 常用列表 ...

  • 第一篇简书

    MarkDown首次使用 无序列表 列表1 列表2 列表3 有序列表 有序列表1 有序列表2 有序列表3 有序列表...

  • 标题

    列表1 列表2 子列表1 子列表2 子列表3子子列表1子子列表2子子子列表1子子子列表2

网友评论

      本文标题:python06_列表

      本文链接:https://www.haomeiwen.com/subject/wasfrhtx.html