zoukankan      html  css  js  c++  java
  • Python笔记:List相关操作

    List相关操作小例子

    获取list的下标和值

    >>> mylist = ['a', 'b', 'c', 'd']
    >>> for index, value in enumerate(mylist):
    ...         print(index, value)
    ...
    0 a
    1 b
    2 c
    3 d
    >>>
    

    删除list中的空字符

    list1 = ['1', '','2', '3', '  ', ' 4  ', '  5', '    ','6 ', '', '     ',None, '7']
    print(list1)
    list2 = list(filter(None, list1)) 
    print(list2) # ['1', '2', '3', '  ', ' 4  ', '  5', '    ', '6 ', '     ', '7']
    list3 = [x.strip() for x in list2]
    print(list3) # ['1', '2', '3', '', '4', '5', '', '6', '', '7']
    list4 = list(filter(None, list3))  
    print(list4) # ['1', '2', '3', '4', '5', '6', '7']
    

    删除list元素

    使用remove、pop和del方法参删除list中的某个元素

    >>> mylist = ['a', 'b', 'c', 'd','e','f','g','h']
    >>> mylist.remove('a')
    >>> mylist
    ['b', 'c', 'd', 'e', 'f', 'g', 'h']
    >>> mylist.pop(0)
    'b'
    >>> mylist
    ['c', 'd', 'e', 'f', 'g', 'h']
    >>> del mylist[0]
    >>> mylist
    ['d', 'e', 'f', 'g', 'h']
    >>> del mylist[0:2]
    >>> mylist
    ['f', 'g', 'h']
    >>> del mylist
    >>> mylist
    Traceback (most recent call last):
      File "<stdin>", line 1, in <module>
    NameError: name 'mylist' is not defined
    >>>
    

    计算中位数

    def get_median(data):
         data.sort()
         half = len(data) // 2
         return (data[half] + data[~half]) / 2
    

    将字符串list转换为int

    >>> test_list = ['1', '4', '3', '6', '7']
    >>> test_list = list(map(int, test_list))
    >>> test_list
    [1, 4, 3, 6, 7]
    >>>
    

    合并、连接字符串list

    >>> test_list = ['192', '168', '0', '1']
    >>> test_list = '.'.join(test_list)
    >>> test_list
    '192.168.0.1'
    >>>
    

    取多个字符串/list交集

    >>> a = ['123','234','1253']
    >>> list(reduce(lambda x,y : set(x) & set(y), a))
    ['2', '3']
    >>> b = [[1,2,3],[1,2],[1,2,3,4],[12,1,2]]
    >>> list(reduce(lambda x,y : set(x) & set(y), b))
    [1, 2]
    

    合并字典value值

    >>> mydict = {0:"hello ", 1:"world"}
    >>> mylist =reduce(lambda x, y : x + y, mydict.values())
    >>> mylist
    'hello world'
    >>> mydict = {0:[1,2,3,4], 1:[2,3,4,5,6]}
    >>> mylist = list(reduce(lambda x, y : x + y, mydict.values()))
    >>> mylist
    [1, 2, 3, 4, 2, 3, 4, 5, 6]
    >>> field_counters = dict(Counter(mylist))
    >>> field_counters
    {1: 1, 2: 2, 3: 2, 4: 2, 5: 1, 6: 1}
    

    列表排列组合

    列表排列组合可以使用迭代器模块itertools

    列表排列

    import itertools
    
    l = [1, 2, 3]
    print(list(itertools.permutations(l, 2)))
    print(list(itertools.permutations(l, 3)))
    

    结果:

    [(1, 2), (1, 3), (2, 1), (2, 3), (3, 1), (3, 2)]
    [(1, 2, 3), (1, 3, 2), (2, 1, 3), (2, 3, 1), (3, 1, 2), (3, 2, 1)]
    

    组合

    import itertools
    
    l = [1, 2, 3]
    print(list(itertools.combinations(l, 2)))
    

    结果:

    [(1, 2), (1, 3), (2, 3)]
    

    多个列表元素组合:笛卡尔积

    两个列表元素两两组合:

    import itertools
    
    l = [1, 2, 3]
    l1 = [11, 12, 13]
    l2 = [21, 22, 23]
    # 笛卡尔积
    print(list(itertools.product(l, l)))
    print(list(itertools.product(l, repeat=2)))
    print(list(itertools.product(l1, l2)))
    

    结果:

    [(1, 1), (1, 2), (1, 3), (2, 1), (2, 2), (2, 3), (3, 1), (3, 2), (3, 3)]
    [(1, 1), (1, 2), (1, 3), (2, 1), (2, 2), (2, 3), (3, 1), (3, 2), (3, 3)]
    [(11, 21), (11, 22), (11, 23), (12, 21), (12, 22), (12, 23), (13, 21), (13, 22), (13, 23)]
    
    --THE END--

    文章标题:Python笔记:List相关操作
    本文作者:hiyo
    本文链接:https://www.cnblogs.com/hiyong/p/14290044.html
    欢迎关注公众号:「测试开发小记」及时接收最新技术文章!

  • 相关阅读:
    统计nginx日志里访问次数最多的前十个IP
    while 格式化输出 运算符 字符编码
    Python 软件安装
    Python 基础
    Typora 基础的使用方法
    Django ORM (四) annotate,F,Q 查询
    Django 惰性机制
    Django ORM (三) 查询,删除,更新操作
    Django ORM (二) 增加操作
    Django ORM (一) 创建数据库和模型常用的字段类型参数及Field 重要参数介绍
  • 原文地址:https://www.cnblogs.com/hiyong/p/14290044.html
Copyright © 2011-2022 走看看