zoukankan      html  css  js  c++  java
  • base_review

    简述Python的字符串驻留机制。

    - 字符串驻留是一种仅保存一份相同且不可变字符串的方法。
       - 原理
          - 系统维护interned字典,记录已被驻留的字符串对象。
          - 当字符串对象a需要驻留时,先在interned检测是否存在,若存在则指向存在的字符串对象,a的引用计数减1;
          - 若不存在,则记录a到interned中。
       - 优点
          - 在字符串比较时,节省大量内存。非驻留比较效率为o(n),驻留时比较效率为o(1)。
       - 驻留情况
          - 字符串只在编译时进行驻留,而非运行时。
          - 字符串长度为0和1时,默认都采用了驻留机制。
          - 字符串>1时,且只含大小写字母、数字、下划线时,才会默认驻留。
          - 用乘法得到的字符串
             - 乘数为1时
                - 仅含大小写字母、数字、下划线,默认驻留。
                - 含其他字符串
                   - 长度<=1,默认驻留。
                   - 长度>1,默认不驻留。
             - 乘数大于1时
                - 仅含大小写字母、数字、下划线,长度<=20,默认驻留
                - 仅含大小写字母、数字、下划线,长度>20,默认都不驻留
                - 其他字符串时,和长度无关,不驻留。
          - 字符串被sys.intern() 指定驻留。
          - [-5, 256]之间的整数数字,Python默认驻留。

    现有字典d={'a': 26, 'g': 20, 'e': 20, 'c': 24, 'd': 23, 'f': 21, 'b': 25},请按照字中的 value字段进行排序.

    print(dict(sorted(list(d.items()), key=lambda x: x[1])))

    如何实现[‘1’,’2’,’3’]变成[1,2,3] ?

    print(list(map(lambda x: int(x), ['1', '2', '3'])))
    print([int(i) for i in ["1","2","3"]])

     py2项目如何迁移成py3

    python3自带工具2to3.py 转换 python2.x 代码 到python3
    
    位置在Python36/tool/script文件夹。
    
    py 2to3.py -w d:/xxxx/xxx.py  
  • 相关阅读:
    nginx 开机自动启动
    Linux 常用命令
    php中数组操作函数
    Windows系统下GitBash显示的中文乱码解决方案
    更改Git默认编辑器为notepad++
    【js】函数问题
    【JS】JavaScript中的参数传递
    Android基础整理之四大组件Activity
    关于BaseAdapter的使用及优化心得(一)
    使用MySQL Workbench建立数据库,建立新的表,向表中添加数据
  • 原文地址:https://www.cnblogs.com/hnlmy/p/10468871.html
Copyright © 2011-2022 走看看