Python入门第8课——字典变量(只读课堂)

    科技2022-07-15  133

    In [1]: #欢迎来到“只读课堂”!

     

    In [2]: #今天我们来讲一个“字典类型”的变量。

     

    In [3]: #在字典中,一个字,对应一个页码,我们把它称为“映射”。在python中,我们把它称为字典变量。

     

    In [4]: #空列表,我们同样用var

     

    In [5]: var = {}

     

    In [6]: var = dict()

     

    In [7]: type(var)

    Out[7]: dict

     

    In [8]: #那么我们写一个有值的字典:

     

    In [9]: var = {'中':100, '左':200}

     

    In [10]: #这是说,“中”这个字后面是100,“左”后面是200,然后就没了。

     

    In [11]: #——————————————————————————————————————————————————————————————

     

    In [12]: #获得字符所在页码:

     

    In [13]: var['中']

    Out[13]: 100

    In [14]: #——————————————————————————————————————————————————————————————

     

    In [15]: #在列表里显示:

     

    In [16]: words = ['中', '左']

     

    In [17]: location = [100,200]

     

    In [18]: #从列表里取出来:

     

    In [19]: location[words.index('中')]

    Out[19]: 100

     

    In [20]: #与列表相比,字典是不是简单多了呢

     

    In [21]: #——————————————————————————————————————————————————————————————

     

    In [22]: #拉锁函数

     

    In [23]: zip(words, location)

    Out[23]: <zip at 0x420eeb8>

    In [24]: #如果我们用列表展示:

     

    In [25]: [('中', 100), ('左', 200)]

    Out[25]: [('中', 100), ('左', 200)]

    In [26]: #要输出上面的值,就:

     

    In [27]: list(zip(words, location))

    Out[27]: [('中', 100), ('左', 200)]

    In [28]: #它可以转化成我们想要的值:

     

    In [29]: #例如

     

    In [30]: new_var = list(zip(words, location))

     

    In [31]: dict(new_var)

    Out[31]: {'中': 100, '左': 200}

    In [32]: #它是非常的好,非常的便捷的。

     

    In [33]: #它拉,取块,都是可以的

     

    In [34]: zip([1,2], [3,4], [4,5])

    Out[34]: <zip at 0x420ef58>

     

    In [35]: list(zip([1,2], [3,4], [4,5]))

    Out[35]: [(1, 3, 4), (2, 4, 5)]

    In [36]: #每一个元素块,都可以变成3个元素块

     

    In [37]: #————————————————————————————————————————————————————————————

     

    In [38]: #其它东西自己来表示

     

    In [39]: #例如:

     

    In [40]: students = ['wong', 'li', 'sun', 'zhao', 'qian']

     

    In [41]: #实验前

     

    In [42]: dict.fromkeys(students, 10)

    Out[42]: {'li': 10, 'qian': 10, 'sun': 10, 'wong': 10, 'zhao': 10}

    In [43]: #这时我们生成一个非常便捷的字典就是“fromkeys”

     

    In [44]: #————————————————————————————————————————————————————————————

     

    In [45]: #访问字典中的值

     

    In [46]: #比方说我们用money

     

    In [47]: money = dict.fromkeys(students, 10)

     

    In [48]: money['wong']

    Out[48]: 10

    In [49]: a = money.get('ww')

     

    In [50]: print(a)

    None

     

    In [51]: #如果值不存在,get值就会给我们返回一个“没有值”(None),而“money['ww']则会报错。

     

    In [52]: a = money.get('ww', '100')

     

    In [53]: print(a)

    100

     

    In [54]: #————————————————————————————————————————————————————————————

     

    In [55]: #通过字典生成两个列表

     

    In [56]: money.keys()

    Out[56]: dict_keys(['wong', 'li', 'sun', 'zhao', 'qian'])

    In [57]: money.values()

    Out[57]: dict_values([10, 10, 10, 10, 10])

     

    In [58]: money.items()

    Out[58]: dict_items([('wong', 10), ('li', 10), ('sun', 10), ('zhao', 10), ('qian', 10)])

     

    In [59]: #这对我们以后便利我们的变量有很大用处。

     

    In [60]: #————————————————————————————————————————————————————————————

     

    In [61]: money.pop('wong')

    Out[61]: 10

     

    In [62]: money

    Out[62]: {'li': 10, 'qian': 10, 'sun': 10, 'zhao': 10}

     

    In [63]: #这是删除变量中的字符

     

    In [64]: #如果我们再删没有的,它就会报错。

     

    In [65]: #————————————————————————————————————————————————————————————

     

    In [66]: ##增加值

     

    In [67]: money['wong'] = 100

     

    In [68]: money

    Out[68]: {'li': 10, 'qian': 10, 'sun': 10, 'wong': 100, 'zhao': 10}

     

    In [69]: #赋值是可以的

     

    In [70]: #————————————————————————————————————————————————————————————

     

    In [71]: #但是不能用一个不存在的访问它

     

    In [72]: money['nihao']

    ---------------------------------------------------------------------------

    KeyError Traceback (most recent call last)

    <ipython-input-72-ddc6bbea4252> in <module>()

    ----> 1 money['nihao']

     

    KeyError: 'nihao'

     

    In [73]: #————————————————————————————————————————————————————————————

     

    In [74]: money

    Out[74]: {'li': 10, 'qian': 10, 'sun': 10, 'wong': 100, 'zhao': 10}

     

    In [75]: money.setdefault('li',100)

    Out[75]: 10

    In [76]: #它就是说,如果变量里面有这个值,就报出来,没有的话就赋值(加)进去

     

    In [77]: money.setdefault('haha', 1000)

    Out[77]: 1000

    In [78]: money

    Out[78]: {'haha': 1000, 'li': 10, 'qian': 10, 'sun': 10, 'wong': 100, 'zhao': 10}

    In [78]:

     

    In [79]: #这样就进去了。

     

    In [80]: print("\n本次“只读课堂”的python教程就到这了,欢迎继续收看!\n")

     

    本次“只读课堂”的python教程就到这了,欢迎继续收看!

    Processed: 0.010, SQL: 8