zoukankan      html  css  js  c++  java
  • Python基础教程:列表操作

    1:列表的去重操作

    al = [1, 1, 2, 3, 1, 2, 4]
    #set方法元素去重
    al_set = set(al)
    print(list(al_set))      #集合不支持索引操作,可以先将之转换为列表
    #formkeys方法
    al2 = {}.fromkeys(al).keys()
    print(list(al2))         #同集合,也是先将之转换成列表
    #列表推导式
    al3 = []
    for a in al:
        if a not in al3:
            al3.append(a)
    print(al3)
    
     输出结果均为:[1, 2, 3, 4]
    

    2:把字符串中,除间隔符以外的所有字符转换为一个列表

    加入有个字符串s = "1, 2, 3",怎么将他转换成列表['1','2','3']?<br>这里我们不能直接用list函数,那样会把中间的','间隔符也加入到列表里,这里可以用上篇文章提到过的split函数,只需要把分隔符指定为','就可以了,如下,就可以输出我们想要的结果了<br><br>s = "1, 2, 3"
    print(s.split(','))
    

    3:找出两个数组中相同和不同元素

    #Python学习交流群:531509025
    A = [1, 2, 3, 4, 5]
    B = [1, 3, 5, 7, 9, 10]
    #找出两list中的相同元素
    a = [x for x in A if x in B]
    print(a)
    #找出两list中的不同元素
    b = [y for y in (A+B) if y not in a]
    print(b)
    #在A中不在B中的元素
    c = [m for m in A if m not in B]
    print(c)
    #在B中不在A中的元素
    d = [n for n in B if n not in A]
    print(d)
    

    依次输出的结果为:

    [1, 3, 5]
    [2, 4, 7, 9, 10]
    [2, 4]
    [7, 9, 10]
    

    4:一行输出列表

    #一行输出列表
    l = ['a', 'b', 'c', 'd', 'e']  #元素是字符类型
    print(''.join(l))
    m = [1, 2, 3, 4, 5, 6, 7, 8, 9]  #元素不是字符类型
    print(''.join(map(str, m)))     #map函数,根据提供的函数对制定的序列做映射
    n = [[1, 2], [3, [4,5,6]], [5, 6]]#元素是列表类型
    print([y for x in n for y in x])
    

    输出结果依次为:

    abcde
    123456789
    [1, 2, 3, [4, 5, 6], 5, 6]
    

    5:列表合并

    列表可以像字符串那样直接用‘+’连接,也可以用extend方法将一个列表中的元素全部添加到另一个列表中,只不过前者是生成一个新的列表,后者是更新一个列表

    #合并列表
    a = [1, 5, 7, 9]
    b = [2, 2, 6, 8]
    print(a+b)
    a.extend(b)
    print(a)
    
     输出结果均为:[1, 5, 7, 9, 2, 2, 6, 8]
    

    6:打乱列表元素

    我么可以用random中的shuffle方法对一个列表里面的元素进行打乱,操作如下

    #打乱列表元素
    from random import shuffle
    a = ['a', 1, 'b',5, 6, 9, 78]
    shuffle(a)
    print(a)
    

    每次运行输出的顺序不同。

  • 相关阅读:
    jbpm入门样例
    MinGW 介绍
    Linux守护进程的编程实现
    完毕port(CompletionPort)具体解释
    Linux makefile 教程 很具体,且易懂
    mysql数据文件迁移到新的硬盘分区的方法
    winform正在使用dsoframer迅速&quot;Unable to display the inactive document.Click here to reacitive the document.&quot;
    Android学习路径(七)建立Action Bar
    FreeBSD包管理
    BZOJ 1096 ZJOI2007 仓库建设 边坡优化
  • 原文地址:https://www.cnblogs.com/xxpythonxx/p/14593789.html
Copyright © 2011-2022 走看看