zoukankan      html  css  js  c++  java
  • python中list总结

    转自python中list总结

    一、list可以看做是一个数据结构,也是一个class,

    用help(list)可以看见其方法,元素的增删改查都有各种现成的方法,

    二、list操作包含以下函数:
    1、cmp(list1, list2):比较两个列表的元素 
    2、len(list):列表元素个数 
    3、max(list):返回列表元素最大值 
    4、min(list):返回列表元素最小值 
    5、list(seq):将元组转换为列表 


    三、包含以下方法:
    1、list.append(obj):在列表末尾添加新的对象
    2、list.count(obj):统计某个元素在列表中出现的次数
    3、list.extend(seq):在列表末尾一次性追加另一个序列中的多个值(用新列表扩展原来的列表)
    4、list.index(obj):从列表中找出某个值第一个匹配项的索引位置
    5、list.insert(index, obj):将对象插入列表
    6、list.pop(obj=list[-1]):移除列表中的一个元素(默认最后一个元素),并且返回该元素的值
    7、list.remove(obj):移除列表中某个值的第一个匹配项
    8、list.reverse():反向列表中元素
    9、list.sort([func]):对原列表进行排序        **python中sort sorted() reverse() reversed() 的区别**

    我想说的是,append ()和extend()显然是有很多区别的,append直接在之后加入,extend相当于扩展。

    四、list和字符串的转换,字符串的split()将其分割成list,join()方法将list合成一个字符串;

    split 与 join 正好相反, 它将一个字符串分割成多元素 list。 

    注意, 分隔符 (“;”) 被完全去掉了, 它没有在返回的 list 中的任意元素中出现。split 接受一个可选的第二个参数, 它是要分割的次数

    >>> li = ['server=mpilgrim', 'uid=sa', 'database=master', 'pwd=secret']
    >>> s = ";".join(li)
    >>> s
    'server=mpilgrim;uid=sa;database=master;pwd=secret'
    >>> s.split(";")   
    ['server=mpilgrim', 'uid=sa', 'database=master', 'pwd=secret']
    >>> s.split(";", 1)
    ['server=mpilgrim', 'uid=sa;database=master;pwd=secret']

    五、list的过滤

    >>> li = ["a", "mpilgrim", "foo", "b", "c", "b", "d", "d"]
        >>> [elem for elem in li if len(elem) > 1]      
        ['mpilgrim', 'foo']
        >>> [elem for elem in li if elem != "b"]        
        ['a', 'mpilgrim', 'foo', 'c', 'd', 'd']
        >>> [elem for elem in li if li.count(elem) == 1]
        ['a', 'mpilgrim', 'foo', 'c']

    六、字典的解析(用到了list的过滤)

    >>> params = {"server":"mpilgrim", "database":"master", "uid":"sa", "pwd":"secret"}
    >>> params.keys()  
    ['server', 'uid', 'database', 'pwd']
    >>> params.values()
    ['mpilgrim', 'sa', 'master', 'secret']
    >>> params.items()
    [('server', 'mpilgrim'), ('uid', 'sa'), ('database', 'master'), ('pwd', 'secret')]
    >>> [k for k, v in params.items()]               
    ['server', 'uid', 'database', 'pwd']
    >>> [v for k, v in params.items()]               
    ['mpilgrim', 'sa', 'master', 'secret']
    >>> ["%s=%s" % (k, v) for k, v in params.items()]
    ['server=mpilgrim', 'uid=sa', 'database=master', 'pwd=secret']

  • 相关阅读:
    查看Google Cloud的IP地址段
    CentOS 7 named设置主从复制
    CentOS 7 named配置forward
    CentOS 7安装chroot Named
    neo4j CQL 使用
    neo4j图数据库安装以及基本操作命令
    运行spark官方的graphx 示例 ComprehensiveExample.scala报错解决
    hbase启动异常的慢
    使用hadoop-daemon.sh 启动bootstrapStandby nameNode异常
    hadoop2.6 上hive运行 报“native-lzo library not available”异常处理
  • 原文地址:https://www.cnblogs.com/yiyezhouming/p/7273130.html
Copyright © 2011-2022 走看看