zoukankan      html  css  js  c++  java
  • python学习之字典(Dictionary)练习

    Python字典是另一种可变容器模型,且可存储任意类型对象,如字符串、数字、元组等其他容器模型

    字典中分为键值对 , key 类型需要时被哈希。 value 类型可以是 字符串、数字、元组等其他容器模型

    字典的键不能是list类型

    1 a=[1,2,4,4]
    2 dict3={a:'dfdf'}  #运行报错
    3.dict5={'No':'1', b:'zhangsan','age':'20'}

    报错为:

        

    正如错误提示,list/set/dict 均不可被哈希。

    这一异常通常出现在,调用 set(…) 来构造一个 set (集合类型)时,set() 需要传递进来可哈希的元素(hashable items

     list、set、dict:是不可哈希的

    1 list.__hash__;#结果为None
    2 set.__hash__; #结果为None
    3 dict.__hash__; #结果为None

    int、float、str、tuple:是可以哈希的

    print int.__hash__;# <slot wrapper '__hash__' of 'int' objects>
    print float.__hash__; #<slot wrapper '__hash__' of 'float' objects>
    print str.__hash__;  #<slot wrapper '__hash__' of 'str' objects>
    print tuple.__hash__;#<slot wrapper '__hash__' of 'tuple' objects> 
    删除字典元素

    1 删单一的元素  2  清空字典

    dict7 = {'Name': 'Zara', 'Age': 7, 'Class': 'First'};
    print dict7; #{'Age': 7, 'Name': 'Zara', 'Class': 'First'}
    # 清除key为:Name的键值对
    del dict7['Name'];  
    print dict7; #{'Age': 7, 'Class': 'First'}
    dict7.clear(); #清除所有的键值对
    print dict7;  # {}
    del dict7;
    print dict7;  #报错 dict7 未定义
    字典键  

    字典键不能有重复出现  :键赋值时  后面的赋值会把前面的覆盖掉

    比如

    dict8= {'Name': 'Zara', 'Age': 7, 'Name': 'Manni'};
    print dict8;  # 输出结果为{'Age': 7, 'Name': 'Manni'}
    print dict8['Name'] #Manni

    六、字典内置函数&方法
    Python字典包含了以下内置函数:
    1、cmp(dict1, dict2):比较两个字典元素。
    2、len(dict):计算字典元素个数,即键的总数。
    3、str(dict):输出字典可打印的字符串表示。
    4、type(variable):返回输入的变量类型,如果变量是字典就返回字典类型。

    Python字典包含了以下内置方法:
    1、radiansdict.clear():删除字典内所有元素
    2、radiansdict.copy():返回一个字典的浅复制
    3、radiansdict.fromkeys():创建一个新字典,以序列seq中元素做字典的键,val为字典所有键对应的初始值
    4、radiansdict.get(key, default=None):返回指定键的值,如果值不在字典中返回default值
    5、radiansdict.has_key(key):如果键在字典dict里返回true,否则返回false
    6、radiansdict.items():以列表返回可遍历的(键, 值) 元组数组
    7、radiansdict.keys():以列表返回一个字典所有的键
    8、radiansdict.setdefault(key, default=None):和get()类似, 但如果键不已经存在于字典中,将会添加键并将值设为default
    9、radiansdict.update(dict2):把字典dict2的键/值对更新到dict里
    10、radiansdict.values():以列表返回字典中的所有值

  • 相关阅读:
    235. Lowest Common Ancestor of a Binary Search Tree
    234. Palindrome Linked List
    233. Number of Digit One
    232. Implement Queue using Stacks
    231. Power of Two
    230.Kth Smallest Element in a BST
    229. Majority Element II
    228. Summary Ranges
    postgres 数组中获取最后一个元素的值
    excel 拆分单元格并填充上一行的数据
  • 原文地址:https://www.cnblogs.com/shaoxiaohuan/p/7687031.html
Copyright © 2011-2022 走看看