zoukankan      html  css  js  c++  java
  • Python【每日一问】03

    问:请给出下列代码的执行结果,并解释

    a = dict.fromkeys([6, 7, 8], ["testing", {"name": "ken"},123])
    print(a)
    a[7][1]["name"] = "sucy"
    print(a)

    答:

    {6: ['testing', {'name': 'ken'}, 123], 7: ['testing', {'name': 'ken'}, 123], 8: ['testing', {'name': 'ken'}, 123]}
    {6: ['testing', {'name': 'sucy'}, 123], 7: ['testing', {'name': 'sucy'}, 123], 8: ['testing', {'name': 'sucy'}, 123]}

    解释原因:

    (1)fromkeys() 方法用于创建一个新的字典,以可迭代对象((字符串、列表、元祖、字典))中的元素分别作为字典中的键,所有键对应同一个值,默认为None

    (2)fromkeys() 方法语法:

    dict.fromkeys(iterable[,value=None])

    iterable 就是用于创建新的字典的键的可迭代对象

    value 是一个可选参数,如果不设置的话就是None

    a = dict.fromkeys([6, 7, 8], ["testing", {"name": "ken"},123])

    这个例子中 就把 ["testing", {"name": "ken"},123] 这个列表作为 value

    由于所有键对应同一个值,当使用 a[7][1]["name"] = "sucy" 改变值时,所有键对应的值都改变了

    (3)fromkeys() 方法 的返回结果是一个新的字典

  • 相关阅读:
    python-Web-django-路由保护
    python-Web-django-图表统计
    python-linux-集群nginx
    python-Web-数据库-oracle
    python-Web-数据库-mysql
    python-爬虫-scrapy
    Educational Codeforces Round 90 (Rated for Div. 2) A~C
    leetcode周赛192
    Codeforces Round #597 (Div. 2) C dp
    Codeforces Round #645 (Div. 2) A~D
  • 原文地址:https://www.cnblogs.com/ElegantSmile/p/10696208.html
Copyright © 2011-2022 走看看