zoukankan      html  css  js  c++  java
  • Python 字典(Dictionary)

    版权所有,未经许可,禁止转载


    章节


    字典

    字典是无序、可修改的键值对集合。在Python中,字典用大括号包裹。

    示例

    创建并打印一个字典:

    thisdict =	{
      "province": "浙江",
      "city": "杭州",
      "street": "祥符街道"
    }
    print(thisdict)
    

    访问项目

    你可以通过键查询字典:

    示例

    获取“city”键的值:

    x = thisdict["city"]
    

    还有一个方法叫get(),效果相同:

    示例

    获取“city”键值:

    x = thisdict.get("city")
    

    更改值

    您可以通过键来更改其值:

    示例

    将“street”改为"西溪街道":

    thisdict =	{
      "province": "浙江",
      "city": "杭州",
      "street": "祥符街道"
    }
    thisdict["street"] = "西溪街道"
    

    遍历字典

    您可以使用for循环遍历字典。

    遍历字典时,返回值是字典的键,但也可以返回值。

    示例

    逐个打印字典中的所有键名:

    for x in thisdict:
      print(x)
    

    示例

    逐个打印字典中的所有值:

    for x in thisdict:
      print(thisdict[x])
    

    示例

    你也可以使用values()函数来返回字典的值:

    for x in thisdict.values():
      print(x)
    

    示例

    通过使用items()函数,同时遍历键和值:

    for x, y in thisdict.items():
      print(x, y)
    

    检查键是否存在

    若要确定字典中是否存在指定的键,使用in关键字:

    示例

    检查字典中是否有“city”:

    thisdict =	{
      "province": "浙江",
      "city": "杭州",
      "street": "祥符街道"
    }
    if "city" in thisdict:
      print("字典中存在'city'这个键")
    

    字典的长度

    要确定一个字典有多少项(键值对),使用len()方法。

    示例

    打印字典中的条目数:

    print(len(thisdict))
    

    添加项目

    给字典添加一个项目,是通过给新键赋值:

    示例

    thisdict =	{
      "province": "浙江",
      "city": "杭州",
      "street": "祥符街道"
    }
    thisdict["borough"] = "拱墅"
    print(thisdict)
    

    删除项目

    有几种方法可以从字典中删除条目:

    示例

    pop()方法删除指定键名的项:

    thisdict =	{
      "province": "浙江",
      "city": "杭州",
      "street": "祥符街道"
    }
    thisdict.pop("city")
    print(thisdict)
    

    示例

    popitem()方法删除最后插入的项(在3.7之前的版本中,删除的是随机项):

    thisdict =	{
      "province": "浙江",
      "city": "杭州",
      "street": "祥符街道"
    }
    thisdict.popitem()
    print(thisdict)
    

    示例

    del关键字删除指定键名的项:

    thisdict =	{
      "province": "浙江",
      "city": "杭州",
      "street": "祥符街道"
    }
    del thisdict["model"]
    print(thisdict)
    

    示例

    del关键字也可以整个删除字典,包括字典自身:

    thisdict =	{
      "province": "浙江",
      "city": "杭州",
      "street": "祥符街道"
    }
    del thisdict
    print(thisdict) # 此处会报错,因为字典已被删除
    

    示例

    clear()方法清空字典:

    thisdict =	{
      "province": "浙江",
      "city": "杭州",
      "street": "祥符街道"
    }
    thisdict.clear()
    print(thisdict)
    

    复制一个字典

    您不能简单地通过dict2 = dict1来复制字典,dict2只是引用dict1,在dict1中所做的更改将自动体现在dict2中。

    复制有多种方法,其中一种方法是使用字典的内置方法copy()

    示例

    使用copy()方法复制字典:

    thisdict =	{
      "province": "浙江",
      "city": "杭州",
      "street": "祥符街道"
    }
    mydict = thisdict.copy()
    print(mydict)
    

    复制的另一种方法是使用内置的方法dict()

    示例

    使用dict()方法复制字典:

    thisdict =	{
      "province": "浙江",
      "city": "杭州",
      "street": "祥符街道"
    }
    mydict = dict(thisdict)
    print(mydict)
    

    dict() 构造方法

    也可以使用dict()构造函数创建一个新字典:

    示例

    thisdict =	dict(province="浙江", city="杭州", street="祥符街道")
    # 注意键不是字符串,没有引号
    # 注意在赋值时使用等号而不是冒号
    print(thisdict)
    

    字典的方法

    Python有一组可以在字典上使用的内置方法。

    方法 描述
    clear()从字典中删除所有元素
    copy()返回字典的副本
    fromkeys()返回具有指定键和值的字典
    get()返回指定键的值
    items()返回包含每个键值对的元组的列表
    keys()返回包含字典键的列表
    pop()删除具有指定键的元素
    popitem()删除最后插入的键值对
    setdefault()返回指定键的值。如果键不存在:插入具有指定值的键
    update()使用指定的键值对更新字典
    values()返回字典中所有值的列表
  • 相关阅读:
    JSP 和Servlet 有有什么关系?
    转发(forward)和重定向(redirect)的区别?
    get和post请求的区别?
    软件的三大类型-单机类型、BS类型、CS类型
    Redis集群搭建
    Tomcat网站上的core和deployer的区别
    spring 事务处理
    mybatis ${}与#{}的区别
    Quartz--Spring 定时任务
    @JsonSerialize @JsonIgnoreProperties @JsonIgnore @JsonFormat
  • 原文地址:https://www.cnblogs.com/jinbuqi/p/11371802.html
Copyright © 2011-2022 走看看