zoukankan      html  css  js  c++  java
  • python学习(七)字典学习

    #!/usr/bin/python
    
    
    # 字典
    # 当时学java的时候, 语言基础就学了好久, 然后是各种API, 最后才是集合
    
    # 键值对, 可变
    
    # 1. 映射操作
    
    D = {'food' : 'Spam', 'quantity':4, 'color':'pink'}
    
    print(D['food'])                # 通过键来获取值
    
    D['quantity'] += 1              # 改变键对应的值
    
    
    # 另一种构造字典的方法
    D = {}
    D['name'] = 'Bob'
    D['job'] = 'dev'
    D['age'] = 40
    
    # 在Python通过字典编写的搜索方法很快
    
    # 重访嵌套
    rec = {'name': {'first':'Bob', 'last':'Smith'},
           'job':['dev', 'mgr'],
           'age':40.5}
    
    rec['name']
    
    rec['name']['last']
    rec['job']
    rec['job'][-1]                  # 'job'键对应的列表的最后一个值
    
    rec['job'].append('janitor')
    
    # 所建立的这些对象都不需要手动释放, 有Python的自动垃圾收集
    
    
    # 2. 键的排序: for循环
    # 字典仅支持通过键获取元素, 而且有时候还是无需的
    # 如锅要对字典进行排序, 先获取键的列表, 然后使用sort方法进行排序
    # 最后使用for循环逐个显示结果
    Ks = list(D.keys())             # 无需列表
    Ks.sort()                       # 对key进行排序
    
    for key in Ks:
        print(key, '=>', D[key])
    
    for c in 'spam':
        print(c.upper())
    
    x = 4
    while x > 0:
        print('spam!' * x)
        x -= 1
    
    # 迭代和优化
    
    
    squares = [ x ** 2 for x in [1, 2, 3, 4, 5]]
    print(squares)
    
    squares = []
    for x in [1, 2, 3, 4, 5]:
        squares.append(x ** 2)
    
    # 列表解析和相关的函数编程工具, 如map和filter, 通常运行得比for循环快
    # 首先为了简单和可读性去编写代码, 在程序可以工作, 并证实确实有必要考虑性能之后, 再考虑该问题
    # 关于这个python提供了time以及timeit和profile模块
    
    
    # 不存在的键: if 测试
    
    D = { 'a' : 1, 'c' : 3, 'b' : 2}
    
    D['e'] = 99
    
    # D['f'] 键'f'不存在, 这样使用会报错的
    # in关系表达式允许我们查询字典中一个键是否存在
    
    if not 'f' in D:
        print('missing key f in D')
    
    value = D.get('x', 0)           # 获取键'x'的值, 如果没有获取到那么就是0付给value
        
        
    D[None] = 4                     # None也可以作为键耶
    print(D)
  • 相关阅读:
    cmanformat
    mysql-sql语言参考
    jQuery 判断多个 input checkbox 中至少有一个勾选
    Java实现 蓝桥杯 算法提高 计算行列式
    Java实现 蓝桥杯 数独游戏
    Java实现 蓝桥杯 数独游戏
    Java实现 蓝桥杯 数独游戏
    Java实现 蓝桥杯 算法提高 成绩排序2
    Java实现 蓝桥杯 算法提高 成绩排序2
    Java实现 蓝桥杯 算法提高 成绩排序2
  • 原文地址:https://www.cnblogs.com/tuhooo/p/7705424.html
Copyright © 2011-2022 走看看