zoukankan      html  css  js  c++  java
  • 复习(三) 数据结构

    2019-02-18 18:42:47

      List 

    list.append()  
    list.insert(i,x)  
    list.extend(L) 相当于a[len(a):]= L
    list.pop([i]) 从列表的指定位置删除元素;删除最后一个元素并返回其值
    list.remove(x) 移除指定元素x,第一次出现
    list.reverse() 反置
    list.sort() 排序
    list.clear() 清除
    list.copy() 复制
    list.count(x) 计数
    list.index(x)

    报序

    del 通过索引来删除

     

         列表推导式

          

    >> vec = [1,2,3]
    >> [x*2 for x in vec]
    
    [2,4,3]
    #多个表达式

    [[x,x**2] for x in L]
    Out[25]: [[1, 1], [2, 4], [3, 9]]

    #逐个调用某方法

    fruit = ['banan','apple','peal']

    [ff+'00' for ff in fruit]
    Out[27]: ['banan00', 'apple00', 'peal00']

    #其他技巧

    >>> vec1 = [2, 4, 6]
    >>> vec2 = [4, 3, -9]
    >>> [x*y for x in vec1 for y in vec2]
    [8, 6, -18, 16, 12, -36, 24, 18, -54]
    >>> [x+y for x in vec1 for y in vec2]
    [6, 5, -7, 8, 7, -5, 10, 9, -3]
    >>> [vec1[i]*vec2[i] for i in range(len(vec1))]
    [8, 12, -54]
    #矩阵的转置
    切片法:
    [[row[i] for row in matrix] for i in range(len(matrix[0]))]

      Tuple

    以逗号隔开的数据,输入可以不用加 ();

    类型不可变

      Set

    空集合用 set() ,{} 表示空字典;

    集合用于去重;

    集合操作 交差并补& - |  ^; 

    集合也可以用推导式;

    ;类型不可变;

      Dict

    None

    遍历技巧:

    for k,v in dict.items():

    序列索引和值:

    for n,v in enumerate(List):

      print(n,v)

    同时遍历多个序列:可以使用zip()

    qusetion = ['Who?','Where?','When?']
    
    answer = ['Me','School','Today']
    
    for q,a in zip(qusetion,answer):
    print(q,a)
    
    Who? Me
    Where? School
    When? Today

      

      

     

      

  • 相关阅读:
    TCP心跳包
    interesting site
    TestNG环境搭建以及框架初识
    lambda表达式
    subprocess学习
    使用psutil模块获取电脑运行信息
    使用ssh和putty操控远程的linux server
    ubuntu系统源的更新
    将python的程序包装成windows下的service
    使用python进行re拆分网页内容
  • 原文地址:https://www.cnblogs.com/zero27315/p/10397447.html
Copyright © 2011-2022 走看看