zoukankan      html  css  js  c++  java
  • python初体验-字典

    什么是字典:字典是一组无序键值对的集合。

    假设我们有以下数据:苹果(apple) 3个;香蕉(banana)5把;葡萄(grape)2串。我们可以创建一个为 fruit 的字典将它们存放:

    fruit = {"apple":3, "banana":5, "grape":2}

    由示例可知,我们需要注意:

    1)字典用 {} 包裹;

    2)其中 "apple" : 3 为一对键值对,其中"apple" 为键(key)3值(value)

    3)每对键值对由英文逗号 , 隔开;

    4)最好在每一个逗号与下一个键值对之间用空格相隔,方便阅读代码。

    一、创建字典

    (1)在 Python 字典中,可以是字符串("apple"),也可以是数值(3);而可以是任何数据类型:字符串、数值、列表,甚至还可以是字典。

    book = {"书名":"《三体》", "作者":"刘慈欣", "页数": 302, "系列":["《三体》","《三体II:黑暗森林》","《三体III:死神永生》"]}

     示例中,字典 book 的值有字符串("《三体》"、"刘慈欣")、数值(302)、列表(["《三体》","《三体II:黑暗森林》","《三体III:死神永生》"])三种数据类型。

    (2)为字典添加键:我们可以用以下语句为字典添加新键

    # 字典[新键] = 新值
    fruit = {"apple":3, "banana":5, "grape":2}
    fruit["cherry"] = 2    # 为字典fruit 添加新键值对 "cherry" : 2
    print(fruit)
    # 输出:{'apple': 3, 'banana': 5, 'grape': 2, 'cherry': 2}

    (3).update():可以用 .update() 一次性向字典加入多对键值对。示例如下:
    fruit = {'apple': 3, 'banana': 5, 'grape': 2, 'cherry': 2}
    fruit.update({'pear':3, 'watermelon':1, 'peach':3})
    print(fruit)
    
    # 输出:
    {'apple': 3,
     'banana': 5,
     'cherry': 2,
     'grape': 2,
     'peach': 3,
     'pear': 3,
     'watermelon': 1}

    (4)更新字典值:如果有一个键对应的值需要变动,我们可以用添加键时的方法,重新为该键赋新值。
    fruit = {"apple":3, "banana":5, "grape":2}   # "grape" 的值为 2
    fruit["grape"] = 4  # "grape"的值更新为 4
    print(fruit)
    # 输出:{'apple': 3, 'banana': 5, 'grape': 4}

    (5)zip() 创建字典:假设有两个列表 — — 国家和首都,我们可以用zip() 将两个列表合并为一个字典。
    nation = ["英国", "法国", "俄罗斯", "泰国", "澳大利亚"]
    capital = ["伦敦", "巴黎", "莫斯科", "曼谷","坎培拉"]
    zip_nc = zip(nation, capital)
    nt_cap = {key:value for key,value in zip_nc}
    print(nt_cap)
    # 输出:{'英国': '伦敦', '法国': '巴黎', '俄罗斯': '莫斯科', '泰国': '曼谷', '澳大利亚': '坎培拉'}


  • 相关阅读:
    【机器学习】算法原理详细推导与实现(一):线性回归
    《0~3岁孩子的 正面管教》——备忘
    马歇尔·卢森堡《非暴力沟通》——备忘
    李笑来《财富自由之路》——备忘
    select、poll、epoll之间的区别总结[整理]
    堆和栈区别
    Linux 文件系统剖析
    Inside The C++ Object Model(五)
    Inside The C++ Object Model(四)
    Inside The C++ Object Model(三)
  • 原文地址:https://www.cnblogs.com/free-1124/p/11338559.html
Copyright © 2011-2022 走看看