zoukankan      html  css  js  c++  java
  • 字典

    • Q:什么是字典
    • A:字典是一系列的键-值对
    # 下面就是一个字典
    alien_0 = {"color":"green","point":5}
    

    • Q:访问字典中的值
    • A:依次指定字典名和放在[ ]里面的键
    alien_0 = {"color":"green","point":5}
    print(alien_0["color"])
    --------------------------------------------------------------------------------------------------------------------------------------------------------------------
    green
    

    • Q:添加字典中的键-值对
    • A:重新赋值
    alien_0 = {"color":"green","point":5}
    print(elien_0)
    alien_0["x_position"] = 0
    alien_0["y_position"] = 25
    print(ailen_0)
    ---------------------------------------------------------------------------------------------------------------------------------
    {"color":"green","point":5}
    {"color":"green","point":5,"y_position":25,"x_position":0}
    # 注意键值对的排列顺序和添加顺序无关
    

    • Q:修改字典中的值
    • A:重新赋值
    # 下面是一个外星人移动的例子
    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"]))
    

    • Q:删除键值对
    • A:del 语句
    alien_0 = {"color":"green","point":5}
    print(elien_0)
    
    del alien_0["color"]
    print(alien_0)
    # 注意 删除的键值对永远的消失了
    

    • Q:遍历字典
    • A:
      1. 遍历所有的键值对   --->.items()方法
      2. 遍历所有的键          --->.key()方法
      3. .按顺序遍历所有的键      --->sorted()函数 + .key()方法
      4. .遍历所有的值               --->.values方法
    # 1下面是遍历所有的键值对的例子
    favorite_language = {
                        'jen':'python',
                        'sarah':'c',
                        'edward':'rudy',
                        'phil':'python',
                        }
    
    for name,language in favorite_language.items():
        print(
                name.title()+ "'s favorite language is " +
                language.title() + "."
             )
    # .items() 方法是返回一个键值对列表
    # 即使遍历字典时,键值对的返回顺序也与存储顺序不同
    
    
    # 2下面是遍历字典的所有键的例子
    favorite_language = {
                        'jen':'python',
                        'sarah':'c',
                        'edward':'rudy',
                        'phil':'python',
                        }
    
    for name in favorite_language.keys():
        print(name.title())
    # 这里的.key()方法也是提取字典的所有键到一个列表中
    # 遍历字典的时候会默认遍历所有的键 所以上面可以替换成
    # for name in favorite_language:
    
    # 2另一个例子,我们像前面一样遍历字典中的名字,但在名字为指定朋友的名字时,打印一条消息
    favorite. _languages = {
                            'jen':'python',
                            'sarah':'C',
                            'edward':'Iuby',
                            'phil':'python',
                            }
    
    friends = ['phil','sarah']
    for name in favorite.languages.keys():
        print(name. title())
    if name in friends:
        print(
                "Hi" + name.title() +
                ", I see your favorite language is " +
                favorite_ 1anguages [name].tit1e() + "!"
             )
    
    # 2你还可以使用keys()确定某个人是否接受了调查。下面的代码确定Erin是否接受了调查的一个例子:
    favorite_languages = {
    'jen':'python',
    'sarah':'c',
    'edward':'ruby',
    'phil':'python',
    }
    if 'erin' not in favorite_languages.keys():
        print("Erin, please take our poll!")
    --------------------------------------------------------
    Erin, please take our poll!
    
    
    # 3下面是按顺序遍历字典中的所有的键的例子
    favorite_languages = {
                'jen': 'python',
                'sarah': 'c',
                'edward': 'ruby',
                'phil': 'python',
    }
    for name in sorted(favorite_languages.keys()):
        print(name.title() + ", thank you for taking the poll.")
    --------------------------------------------------------
    Edward, thank you for taking the poll.
    Jen, thank you for taking the poll.
    Phil, thank you for taking the poll.
    Sarah, thank you for taking the poll.
    #调用函数sorted()对keys列表进行排列
    
    
    # 4遍历列表中的所有的值的例子
    favorite_languages = {
    'jen': 'python',
    'sarah': 'c',
    'edward': 'ruby',
    'phil': 'python',
    }
    print("The following languages have been mentioned:")
    for language in favorite_languages.values():
        print(language.title())
    --------------------------------------------------------
    The following languages have been mentioned:
    Python
    C
    Python
    Ruby
    
    # 4使用集合set()去除重复项
    favorite_languages = {
    'jen': 'python',
    'sarah': 'c',
    'edward': 'ruby',
    'phil': 'python',
    }
    print("The following languages have been mentioned:")
    for language in set(favorite_languages.values()):
        print(language.title())
    --------------------------------------------------------
    The following languages have been mentioned:
    Python
    C
    Ruby
    
  • 相关阅读:
    简述智障版本搜索引擎架构
    kaggle PredictingRedHatBusinessValue 简单的xgboost的交叉验证
    机器学习速查表
    World final 2017 题解
    微博爬虫
    喵哈哈村的魔法考试 Round #21 (Div.2) 题解
    喵哈哈村的魔法考试 Round #20 (Div.2) 题解
    Tinkoff Challenge
    常用的机器学习&数据挖掘知识(点)总结
    喵哈哈村的魔法考试 Round #19 (Div.2) 题解
  • 原文地址:https://www.cnblogs.com/goodhelper007/p/dictionary.html
Copyright © 2011-2022 走看看