zoukankan      html  css  js  c++  java
  • python列表类型

    列表类型

    一、列表(list)

    如果现在有一个需求,我们需要存储一个人的爱好,用前面说的数据类型存储,毫无疑问只能用字符串存储,并且一个人的爱好可能是很多个,那么我们可以用空格将让他们分开。

    hobbies = "read run girl"
    print(hobbies)
    输出:read run girl
    

    我们一直在强调一件事情,存不是目的,目的是如何取,取一个人的爱好,用字符串来存,当取某一个爱好的时候,就会发现无从下手。因此需要换一个方式存储——列表。

    1.1作用

    可以存放多个值。并且是分开的。

    1.2定义

    在[]中括号中用逗号分隔任意类型的值

    hobby = 'read'
    hobby_list = [hobby,'run','girl']
    print(id(hobby_list))
    print(type(hobby_list))
    print(hobby_list)
    
    输出:
    1716511330888
    <class 'list'>
    ['read', 'run', 'girl']
    

    1.3如何用

    存不是目的,取才是目的。我们介绍列表索引取值的方法,牢牢记住索引序列从0开始。

    hobby_list = ['read','run','girl']
    #索引取值,取出第二个值
    print(hobby_list[1])
    输出:
    run
    
    hobby_list = ['read','run',['girl_name',18,'shanghai']]
    #取出女孩年龄
    print(hobby_list[2][1])
    输出:
    18
    
    
    

    二、列表的内置方法

    2.1优先掌握

    1. 按索引取值(正方向取+反方向取),既可以存,也可以取,也可以修改

      name_list = ['chen', 'jason', 'tank', 'sean']
      name_list[0] = 'chen handsom'
      print(name_list)
      print(name_list[0])
      name_list[1]='12345'#可以对列表内的元素进行修改
      print(name_list[1])
      
      
      ##输出:
      ['chen handsom', 'jason', 'tank', 'sean']
      chen handsom
      12345
      
    2. 切片(用法同字符串)

      name_list = ['chen', 'jason', 'tank', 'sean']
      print(name_list[0:3:2])
      #输出:
      ['chen', 'tank']
      
    3. 长度len

      name_list = ['chen', 'jason', 'tank', 'sean']
      print(len(name_list))
      #输出:
      4
      
    4. 成员运算in 或者 not in

      name_list = ['chen', 'jason', 'tank', 'sean']
      print('chen' in name_list)
      print('tank' not in name_list)
      #输出:
      True
      False
      
    5. 追加append,在列表后面添加元素

      name_list = ['chen', 'jason', 'tank', 'sean']
      name_list.append('aresb')
      print(name_list)
      #输出:
      ['chen', 'jason', 'tank', 'sean', 'aresb']
      
    6. 删除del

      name_list = ['chen', 'jason', 'tank', 'sean']
      del name_list[2]
      print(name_list)
      #输出:
      ['chen', 'jason', 'sean']
      
    7. 循环

      name_list = ['chen', 'jason', 'tank', 'sean']
      for i in name_list:
          print(i)
          
          
          
      #输出:
      chen
      jason
      tank
      sean
      

      2.2 需要掌握

      1. insert()

        #插入,指定位置插入
        name_list = ['chen', 'jason', 'tank', 'sean']
        name_list.insert(1,'handsome')#在索引1的位置插入handsome
        print(name_list)
        #输出:
        ['chen', 'handsome', 'jason', 'tank', 'sean']
        
      2. pop()

        #pop()默认删除最后一个元素,指定位置删除某一个元素
        name_list = ['chen', 'jason', 'tank', 'sean']
        name_list.pop(1)
        print(name_list)
        name_list.pop()
        print(name_list)
        #输出:
        ['chen', 'tank', 'sean']
        ['chen', 'tank']
        
    8. remove()

         #删除指定元素
         name_list = ['chen', 'jason', 'tank', 'sean']
         name_list.remove('chen')
         print(name_list)
         ##输出:
         ['jason', 'tank', 'sean']
         
         
      
    9. count() 对列表内的某一个元素进行计数

         ##对指定元素进行计数
         name_list = ['chen', 'jason', 'tank', 'sean']
         print(name_list.count('chen'))
         #输出:
         1
      
    10. index()

         ##寻找元素的位置
         name_list = ['chen', 'jason', 'tank', 'sean']
         
         print(name_list.index('jason'))
      
       print(hobby_list.index('play', 1, 3))# 索引1-3内有没有该值
         #输出:
         1
          False
      
    11. clear()

         #对列表进行清空
         name_list = ['chen', 'jason', 'tank', 'sean']
         name_list.clear()
         print(name_list)
         #输出:
         []
      
    12. copy()

         #复制
         name_list = ['chen', 'jason', 'tank', 'sean']
         print(name_list.copy())
         #输出:
         ['chen', 'jason', 'tank', 'sean']
         
      
    13. extend() 扩展列表

         ## 将另外一个列表的取出放进列表中
         name_list = ['chen', 'jason', 'tank', 'sean']
         name_list2 = ['chen python']
         name_list.extend(name_list2)
         print(name_list)
         #输出:
         ['chen', 'jason', 'tank', 'sean', 'chen python']
         
      
    14. reverse()

         #反序
         name_list = ['chen', 'jason', 'tank', 'sean']
         name_list.reverse()
         print(name_list)
         #输出:
         ['sean', 'tank', 'jason', 'chen']
         
      
    15. sort()

       #进行排序,元素必须是相同的类型
       name_list = ['chen', 'jason', 'tank', 'sean']
       name_list.sort()
       print(name_list)
       
       #输出:
       ['chen', 'jason', 'sean', 'tank']
       
       name_list = ['chen', 'jason', 'tank', 'sean']
       name_list.sort(reverse=True)
       print(name_list)
       #输出:
       ['tank', 'sean', 'jason', 'chen']
       
       
       
       
    
    #sort与reverse()的使用,按从小到大
    hobby_list = [['nick', 1000], ['jason', 500000], ['sean', 2000], ['tank', 10000]]
    
    #1
    hobby_list.sort(key=lambda i: i[1]) 
    print(hobby_list)
    #2
    def func(i):
        return i[1] 
    hobby_list.sort(key=func)
    print(hobby_list)
    
    #输出:
    [['nick', 1000], ['sean', 2000], ['tank', 10000], ['jason', 500000]]
    [['nick', 1000], ['sean', 2000], ['tank', 10000], ['jason', 500000]]
    
    #按从大到小排序
    hobby_list = [['nick', 1000], ['jason', 500000], ['sean', 2000], ['tank', 10000]]
    #1
    hobby_list.sort(key=lambda i: i[1], reverse=True)  #
    print(hobby_list)
    #2
    def func(i):  
        return i[1] 
    hobby_list.sort(key=func,reverse=True)
    print(hobby_list)
    
    #输出:
    [['jason', 500000], ['tank', 10000], ['sean', 2000], ['nick', 1000]]
    [['jason', 500000], ['tank', 10000], ['sean', 2000], ['nick', 1000]]
    
    
    1. 存多个值
    2. 无序
    3. 可变数据类型
  • 相关阅读:
    狗 日 的 360
    Django搭建简单的站点
    ZOJ 3675 Trim the Nails(bfs)
    Qt移动应用开发(二):使用动画框架
    SPOJ QTREE2 lct
    [Phonegap+Sencha Touch] 移动开发77 Cordova Hot Code Push插件实现自己主动更新App的Web内容
    Bitmap工具类BitmapHelper
    Material-design icon生成插件
    闲聊ROOT权限——ROOT权限的前世今生
    Java深入浅出系列(四)——深入剖析动态代理--从静态代理到动态代理的演化
  • 原文地址:https://www.cnblogs.com/SkyOceanchen/p/11270451.html
Copyright © 2011-2022 走看看