zoukankan      html  css  js  c++  java
  • python 基础知识(待补充)

    数据结构:

      python数据结构共包含四大类:

    • 列表

         列表是可变元素,支持增删改查操作

    • 字典

        字典是遍历,key:value 格式.

    • 元组

        元组数据不可变元素,仅仅有两个操作 index, count

    • 集合

        集合的增删,创建集合{1, 2, 3}, set(),集合的集合操作.

    控制流语句:

    • if 语句
    • if else 语句
    • if elif else语句
    • 永远只有一个分支被执行
    • while语句
    • for in 语句
    • break语句
    • continue语句
    • else语句

    列表解析

      列表解析是python重要的语法糖,速度比for in迭代快,推荐使用

      基本语法

    ret = [expression for item in iterator]

       等价于:  

    ret = []
    for item in iterator:
        ret.append(expression)

       实例:

    # 列表解析形式
    
    In [1]: lst = list(range(1,11))
    
    In [2]: lst
    Out[2]: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
    
    In [3]: [x ** 2 for x in lst]
    Out[3]: [1, 4, 9, 16, 25, 36, 49, 64, 81, 100]
    
    # for循环方式
    In [6]: lst
    Out[6]: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
    
    In [7]: ret=[]
    
    In [8]: for i in lst:
       ...:     ret.append(i ** 2)
    
    In [10]: print(ret)
    [1, 4, 9, 16, 25, 36, 49, 64, 81, 100]

    多个列表情况

    In [32]: [(x, y) for x in list1 for y in listb]
    Out[32]: 
    [(1, 'a'),
     (1, 'b'),
     (1, 'c'),
     (2, 'a'),
     (2, 'b'),
     (2, 'c'),
     (3, 'a'),
     (3, 'b'),
     (3, 'c')]

    含有条件的列表解析

     基本语法:

    ret = [expression for item in iterator if X if Y]

    等同于

    ret = []
    for item in iterator:
        if X and Y:
            ret.append(expression)

    实例:

    In [34]: list1 = [2, 3, 4, 5, 6, 7]
    
    In [35]: [x ** 2 for x in list1 if x<6 ]
    Out[35]: [4, 9, 16, 25]

    字典解析

      基本语法:

    ret = {exprK:exprV for item in iterator}

       等同于

    ret = dict()
    for item in iterator:
        ret.update({exprK: exprV})

    字典解析实例:

      生成字典的方式:

    In [26]: lista
    Out[26]: ['a', 'b', 'c', 'd', 'e']
    
    In [27]: listb
    Out[27]: [1, 2, 3, 4, 5]
    
    In [28]: {k:v for k in lista for v in listb}
    Out[28]: {'a': 5, 'b': 5, 'c': 5, 'd': 5, 'e': 5}
    
    In [29]: {k:v for k, v in [('a', 1), ('b', 2)]}
    Out[29]: {'a': 1, 'b': 2}

    集合解析:

    # 生成集合
    In [36]: {x + 1 for x in range(10)}
    Out[36]: {1, 2, 3, 4, 5, 6, 7, 8, 9, 10}
    
    #集合解析
    
    In [38]: {x+1 for x in [2, 2, 2, 3]}
    Out[38]: {3, 4}

      

    原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。 http://www.cnblogs.com/topicjie/
  • 相关阅读:
    《数据结构第一章复习》
    《图的基本操作》
    《矩阵的一些基本操作》
    <矩阵的基本操作:矩阵相加,矩阵相乘,矩阵转置>
    《两个二维数组(矩阵)相乘》
    C#隐藏与显示系统任务栏和开始菜单栏按钮
    C#通过窗体属性缩小一定尺寸时,无法再缩小窗体尺寸问题
    C#一个窗体调用另一个窗体的方法
    C#异步线程
    C#中MessageBox.Show问题(让提示窗口不显示在任务栏中)
  • 原文地址:https://www.cnblogs.com/topicjie/p/5223725.html
Copyright © 2011-2022 走看看