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

    创建列表

    创建列表可以使用list([iterable])函数,或者使用中括号[]元素之间用逗号分隔。[iterable]表示可以迭代,比如,元祖,list((1,2,3,4))

    先声明一个空列表:

    >>> names = []
    >>> names
    []

    可以存多个值:

    >>> names = ["wangwang","maomao"]
    >>> names
    ['wangwang', 'maomao']

    如何取值:

    >>> names[1]
    'maomao'

    如何修改:

    >>> names[0] = "gougou"
    >>> names
    ['gougou', 'maomao']

    增加:

    >>> names.append("miaomiao")
    >>> names
    ['gougou', 'maomao', 'miaomiao']

    插入:

    >>> names
    ['gougou', 'maomao', 'miaomiao']
    >>> names.insert(2,"new")
    >>> names
    ['gougou', 'maomao', 'new', 'miaomiao']

    删除:

    第一种方法:

    >>> names
    ['gougou', 'maomao', 'new', 'miaomiao']
    >>> del names[0]    #根据索引删除
    >>> names
    ['maomao', 'new', 'miaomiao']

    第二种方法:

    >>> names
    ['maomao', 'new', 'miaomiao']
    >>> names.remove("new")    #根据名字删除
    >>> names
    ['maomao', 'miaomiao']


    3、使用pop删除

      names.pop(0)  与del  

      但是pop不支持,切取 [0:2]但是del支持

    查找:

    复制代码
    >>> names
    ['maomao', 'miaomiao', 'wangwang', 'liyang', 'zhangsi', 'jack', 'mack', 'rain',
    'yangle', 'wangjie', 'lirun', 'xiaojie']
    >>> names.index("liyang")   #查找索引
    3
    >>> names[3]
    'liyang'
    >>> names [names.index("liyang")] = "LiYang"  #根据索引重新赋值
    >>> names
    ['maomao', 'miaomiao', 'wangwang', 'LiYang', 'zhangsi', 'jack', 'mack', 'rain',
    'yangle', 'wangjie', 'lirun', 'xiaojie']
    复制代码

    统计某个姓名是否有重名:

    >>> names.count("maomao")
    2

    排序:

    复制代码
    >>> names
    ['maomao', 'miaomiao', 'wangwang', 'LiYang', 'zhangsi', 'jack', 'mack', 'rain',
    'yangle', 'wangjie', 'lirun', 'xiaojie', 'maomao']
    >>> names.sort()        #根据ASCII排序
    >>> names 
    ['LiYang', 'jack', 'lirun', 'mack', 'maomao', 'maomao', 'miaomiao', 'rain', 'wan
    gjie', 'wangwang', 'xiaojie', 'yangle', 'zhangsi']
    复制代码

    从大到小排序:

    >>> names.reverse()
    >>> names
    ['zhangsi', 'yangle', 'xiaojie', 'wangwang', 'wangjie', 'rain', 'miaomiao', 'mao
    mao', 'maomao', 'mack', 'lirun', 'jack', 'LiYang']

    取值:

    复制代码
    >>> names
    ['zhangsi', 'yangle', 'xiaojie', 'wangwang', 'wangjie', 'rain', 'miaomiao', 'mao
    mao', 'maomao', 'mack', 'lirun', 'jack', 'LiYang']
    >>> names[3:5]   #取第3和第4。注意:切片顾头不顾尾
    ['wangwang', 'wangjie']
    >>> names[-1]。 #取最后一个
    'LiYang'
    >>> names[-3:-1]  #倒数第三位和倒数第二位,注意永远是从左到右切片的
    ['lirun', 'jack']
    复制代码

    打印所有的基数位:

    >>> names
    ['zhangsi', 'yangle', 'xiaojie', 'wangwang', 'wangjie', 'rain', 'miaomiao', 'mao
    mao', 'maomao', 'mack', 'lirun', 'jack', 'LiYang']
    >>> names[0::2]   #从头到尾,2为步长
    ['zhangsi', 'xiaojie', 'wangjie', 'miaomiao', 'maomao', 'lirun', 'LiYang']


    #列表长度

    >>> len(name_list)
    2

     

    #列表长度

    >>> len(name_list)
    2

     

    #判断“wuxin”是否包含在name_list中,并且返回布尔值

    >>> "wuxin" in name_list
    True

     

    列表和元祖区别:
    元祖不可修改,列表可以修改

    [
    "daoxin",("seven","wuxin")
    ]

    元祖与列表取原始的方式一样

    a=['asd','dfd','rttr']

    b=('eere','rttr','uiuiu')

    蒋列表转化为元祖

    g=tuple(a)

    反之

    k=list(b)


    列表遍历方式
    a=['adas','sdsd','dfdfd','ghghg']
    for i in range(len(a)):
        print(a[i])


    2、第二种
    for i in range(0,len(a)):
      print(a[i])
    3、第三种
    for i in a:
      print(i)
    遍历数组同时输出下标
    for i in range(len(a)):
      print(i,a[i])
    2、for i in range(len(a)):
      print(a.index(a[i]),a[i])

    3、for i,j in enumerate(a):
      print(i,j)

    列表推导式
    a=[x**2 for x in range(10)if x%2==0]
    print(a)


    总结:1、list、tuple是有序列表,可重复出现;dict、set是无序列表,set不能出现重复元素

    
    

         2、list元素可变、tuple元素不可变

    
    

         3、dict和set的key值不可变,唯一性

    
    

         4、set只有key没有value

    
    

         5、set的用途:去重、并集、交集等

    
    

         6、list、tuple:+、*、索引、切片、检查成员等

    
    

       7、dict查询效率高,但是消耗内存多;list、tuple查询效率低、但是消耗内存少


     
  • 相关阅读:
    Java 中无参带返回值方法的使用
    Java 中无参无返回值方法的使用
    如何定义 Java 中的方法
    Java 中的二维数组
    使用 foreach 操作数组
    使用 Arrays 类操作 Java 中的数组
    如何使用 Java 中的数组
    Java 循环语句之多重循环
    UML常用图的几种关系的总结
    JAVA 对象引用,以及对象赋值
  • 原文地址:https://www.cnblogs.com/fkkk/p/6401775.html
Copyright © 2011-2022 走看看