美文网首页
新2019计划:python学习-字典【4】

新2019计划:python学习-字典【4】

作者: 克里斯托弗的梦想 | 来源:发表于2019-02-15 23:21 被阅读0次

    字典

    本篇章讲述数据结构字典,主要围绕如何访问字典,如何修改字典,如何删除字典某元素,如何遍历字典,字典的常见方法get、update、setdefault、pop函数等,如何增加字典的key-value值,存储字典的列表,存储列表的字典,以及存储字典的字典等。

    字典定义
    python中字典是一系列键-值对,每个键对应一个值,键是唯一的,可以使用键获取对应的值,与键相关联的值可以是数字、字符串、列表乃至字典。

    • 简单的字典实例
    alien = {'color': 'green', 'points': 5}
    # 访问字典的元素
    alien['color']
    alien['points']
    
    • 访问字典中的值
    alien =  {'color': 'green', 'points': 5}
    new_points = alien['points']  # 如果这个键不存在会报错
    print('You just earned ' + str(new_points) + ' points!')
    # 另一种访问方式
    alien.get('color')    # 如果键不存在,返回None
    alien.get('good', 'zhiding')  # 如果键不存在,返回zhiding的元素
    
    • 添加键-值对
    alien =  {'color': 'green', 'points': 5}
    # 下面就是增加了键值对
    alien['x_position'] = 0
    alien['y_position'] = 25
    # 创建空字典,然后增加键值对
    alien = {}
    alien['color'] = 'green'
    alien['points'] = 60
    
    • 修改字典中的值
    alien_0 = {'color': 'green'}
    print("The alien is " + alien_0['color'] + ".")
    # 直接修改就好, 其中实质意义:键存在就相当于修改,不存在就是新增新的键值对
    alien_0['color'] = 'yellow'
    print("The alien is now " + alien_0['color'] + ".")
    #################
    # 一个修改字典中值实例
    alien_0 = {'x_position': 0, 'y_position': 25, 'speed': 'medium'} 
    print("Original x-position: " + str(alien_0['x_position']))
    if alien_0['speed'] == 'slow':
        x_increment = 1
    elif  alien_0['speed'] == 'medium':
        x_increment = 2
    else:
        x_increment = 3
    
    alien_0['x_position'] = alien_0['x_position'] + x_increment
    print("New x-position: " + str(alien_0['x_position']))
    
    
    • 删除键值对
      del alien_0['points']
      删除的键值对会永远消失

    • 遍历字典
      1、遍历字典的键和值
      for key, value in alien_0.items()
      2、遍历字典的键
      for key in alien_0.keys()
      3、按顺序遍历字典中的所有键
      for name in sorted(alien_0.keys())
      4、遍历字典的所有值
      for value in alien_0.values()
      5、遍历字典所有值(利用集合set去重遍历)
      for value in set(alien_0.values())

    • 判断指定的键是否存在字典中
      if 'good' in alien_0.keys()

    • 字典存储在列表

    alien_0 = {'color': 'green', 'points': 5} 
    alien_1 = {'color': 'yellow', 'points': 10} 
    alien_2 = {'color': 'red', 'points': 15}
    aliens = [alien_0, alien_1, alien_2]
    for alien in aliens:
        print(alien)
    ###########
    aliens = []
    for alien_number in range(30):
        new_alien = {'color': 'green', 'points': 5, 'speed': 'slow'}
        aliens.append(new_alien)
    
    
    
    • 列表存在字典
    pizza = {
        'crust': 'thick',
        'toppings': ['mushroom', 'extra pizza']
    }
    
    for topping in pizza['toppings']:     
        print("\t" + topping)
    
    
    • 字典存储在字典
    users = {
     'aeinstein':
       {
        'first': 'albert', 'last': 'einstein', 'location': 'princeton',
       },
    
    'mcurie':
       {
        'first': 'marie', 'last': 'curie', 'location': 'paris',
       },
     }
    
    for username, user_info in users.items():
        print('\n Username: ' + username)
        full_name = user_info['first'] + ' ' + user_info['last'] 
    
    
    
    • 字典常见的方法,设字典变量为d。
      1、print(d['key']) 如果写了不存在的值会报错
      2、print(d.get('key')) 如果写了不存在的值,返回None
      3、print(d.get('key','not find ')) 如果找不到存在的值,返回 “not find”
      4、print(d.keys()) #获取所有的key值
      5、print(d.values()) #获取所有的value 值
      6、if 'key' in d: #判断key是否存在
      7、d['key'] = value key 存在即修改,key不存在即新增
      8、d.setdefault('key',value) 只能新增
      9、d.pop('key') 删除字典某元素,必须要传值,因为字典是无序的,会返回该键对应的值
      10、d.popitem() 随机删除一个, 返回一个元组,(键, 值)
      11、del d['key']
      12、d.clear() 清空字典
      13、len(d):计算字典元素个数,即键的总数。
      14、str(d):输出字典可打印的字符串。
      15、update 利用一个字典项更新另外一个字典,如d.update(f),那么d字典发生变化

    最后,浅复制,深复制如下


    image.png

    相关文章

      网友评论

          本文标题:新2019计划:python学习-字典【4】

          本文链接:https://www.haomeiwen.com/subject/vedveqtx.html