zoukankan      html  css  js  c++  java
  • python学习笔记-day2

    PyCharm

    * 常用快捷键
      1. 多行注释:win:ctrl+?;mac:alt+?
    

    for/while...else:else只有当循环正常结束,没有被break、exit,则执行

    for i in range(10):
        print(i)
        if i == 5:
            break
    else: #当循环正常结束,没有被break、exit,则执行
        print("loop done")
    

    list

    1.初始化递增的list:
    list1 = list(range(10))
    list2 = [0 for i in range(8)]
    
    #print list1
    #[0,1,2,...,9]
    
    2.初始化每项为0的一维数组:
    list2 = [0] * 5
    #print list2
    #[0,0,0,0,0]
    3.初始化二维数组
    li = [[0] * 3 for i in range(4)]
    4.列表脚本操作符
    

    5.
        列表操作包含以下函数:
          1、cmp(list1, list2):比较两个列表的元素
          2、len(list):列表元素个数
          3、max(list):返回列表元素最大值
          4、min(list):返回列表元素最小值
          5、list(seq):将元组转换为列表 
    
    li = list()
    a = "liuchang"
    li = list(a)
    li:['l','i','u','c','h','a','n','g']
    
        列表操作包含以下方法:
    增:
        1、list.append(obj):在列表末尾添加新的对象
        2、list.insert(index, obj):将对象插入列表
    删:
        3、list.remove(obj):移除列表中某个值的第一个匹配项
        4、list.clear():清空列表
        5、list.pop(obj=list[-1]):移除列表中的一个元素(默认最后一个元素),并且返回该元素的值
        6、del li[-1]
    改:
        7、list[头:尾:步长]:切片 顾左不顾右 并不改变原列表,list[0:]:从头切到尾 
        8、list[::-1]:反转列表(不会改变原列表,返回新列表)
    查:
        10、element in list:判断element是否包含在list中,返回true、false
        11、list.count(element):统计某个元素在列表中出现的次数
        12、list.index(obj):从列表中找出某个值第一个匹配项的索引位置
    特殊:
        13、list.extend(seq):在列表末尾一次性追加另一个序列中的多个值(用新列表扩展原来的列表)
        14、list.reverse():反向列表中元素,改变原列表
        15、list.sort( key=None, reverse=False):对原列表进行排序,默认从小到大(reverse = False),若想倒序(list.sort([list],reverse = True)) 如果这个列表是字典的列表,则可以用key = '字典的key'来表示按照什么进行排序
        16、列表合并 list1+list2,不改变list原列表
        17、list.copy():浅拷贝(只能拷贝一层,嵌套列表会有一点问题,修改的话是修改的同一地址上的元素)
      #小列表在大列表中实际上存储的是地址,copy的是地址
      lista = [1,2,3,4,['lc','wsq'],5,6]
      listb = lista.copy()
      listb[4][0] = "hgx"
      listb[1] = '111'
      print(lista)
      #[1, 2, 3, 4, ['hgx', 'wsq'], 5, 6]
    

    列表深拷贝:

    import copy
    lista = [1,2,3,4,['lc','wsq'],5,6]
    listb = copy.copy(lista)
    listc = copy.deepcopy(lista)
    listb[4][0] = "shallow"
    listc[4][1] = "deep"
    print(lista,listb,listc)
    #listb的修改影响到了a -> 浅拷贝
    # listc的修改没有影响到a -> 深拷贝
    # [1, 2, 3, 4, ['shallow', 'wsq'], 5, 6]
    # [1, 2, 3, 4, ['shallow', 'wsq'], 5, 6] 
    # [1, 2, 3, 4, ['lc', 'deep'], 5, 6]
    

    random模块

    1.random.random()
    
     #用于生成一个0到1的
     #随机浮点数:0<= n < 1.0
    2.random.randint(a, b)
    
     #用于生成一个指定范围内的整数。其中参数a是下限,参数b是上限,生成的随机数n: a <= n <= b
      import random  
      print(random.randint(1,10)) 
    3.random.sample(sequence, k)
    
    #从指定序列中随机获取指定长度的片断并随机排列。注意:sample函数不会修改原有序列
    
  • 相关阅读:
    【大厂面试06期】谈一谈你对Redis持久化的理解?
    【大厂面试05期】说一说你对MySQL中锁的了解?
    【大厂面试04期】讲讲一条MySQL更新语句是怎么执行的?
    【大厂面试03期】MySQL是怎么解决幻读问题的?
    【大厂面试02期】Redis过期key是怎么样清理的?
    【大厂面试01期】高并发场景下,如何保证缓存与数据库一致性?
    透过面试题掌握Redis【持续更新中】
    MySQL慢查询优化(线上案例调优)
    分享一个集成.NET Core+Swagger+Consul+Polly+Ocelot+IdentityServer4+Exceptionless+Apollo+SkyWalking的微服务开发框架
    微服务框架Demo.MicroServer运行手册
  • 原文地址:https://www.cnblogs.com/liuChang888/p/15017525.html
Copyright © 2011-2022 走看看