ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

第10章 字典与集合

2021-08-10 01:31:42  阅读:152  来源: 互联网

标签:10 ma zip dictionary print dict 集合 字典


第10章 字典与集合

10.1 字典{'key1':'value1','key2':'value2'},key本质是元组

字典的创建和删除

  • 字典的创建,zip元组和dict函数的转换
代码:
    word ={'che':'车','ma':'马'}  #定义一个字典
    print(word)
    key1=['che','ma','niu','niu2']   #定义一个列表为键列表,注意,这里key多了一个,而value少了一个,看最后zip对象转换成字典后是几个对应关系
    value1=['车','马','牛']   #定义一个列表为值列表
    zip_result1=zip(key1,value1) #zip函数可以将连个列表组合成一个zip对象
    print(zip_result1)  #输出的zip对象内容我们无法阅读
    dict1=dict(zip_result1)
    print(dict1)  #输出该字典

结果:

    {'che': '车', 'ma': '马'}
    <zip object at 0x7fba26eff240>
    {'che': '车', 'ma': '马', 'niu': '牛'}   #可以看出,即使key多了,那也只能是一一对应,最后的字典也只现实对应好的完整的字典
  • 空字典的创建
代码:

    dict={}
    print(dict)

结果:
    {}
代码:

    dictionary=dict(启蒙='订',一一='启动')
    print(dictionary)

结果:

    {'启蒙': '订', '一一': '启动'}
  • fromkeys()方法创建值为空的字典

代码:

    key1=['che','ma','niu','niu2'] #先创建一个key列表
    dictionary=dict.fromkeys(key1)   #调用dict.fromkeys()创建一个空值字典
    print(dictionary)

结果:

    {'che': None, 'ma': None, 'niu': None, 'niu2': None}
  • 删除字典:使用del 删除字典,清空而不删除字典则使用该对象的clear方法
* 如果要删除一个字典,则使用del语句

代码:

    key1=['che','ma','niu','niu2'] #先创建一个key列表
    dictionary=dict.fromkeys(key1)   #调用dict.fromkeys()创建一个空值字典
    print('删除字典前:',dictionary)
    del dictionary
    print('删除字典后:',dictionary)

结果:

    NameError: name 'dictionary' is not defined

原因:

    因为该字典已经被删除,所以print的时候爆出该字典不存在


* 如果要清空一个字典,则使用clear方法

代码:

    key1=['che','ma','niu','niu2'] #先创建一个key列表
    dictionary=dict.fromkeys(key1)   #调用dict.fromkeys()创建一个空值字典
    print('清空字典前:',dictionary)
    dictionary.clear()
    print('清空字典后:',dictionary)

结果:
    清空字典前: {'che': None, 'ma': None, 'niu': None, 'niu2': None}
    清空字典后: {}
  • 实例练习:搞一个简单的密码本,进行字符串的加密
source=['a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z',' ','0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z']
encode=['k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z','a','b','c','d','e','f','g','h','i','j',' ',')','!','@','#','$','%','^','&','*','(','S','T','U','V','W','X','Y','Z','A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R']
zip_obj=zip(source,encode)
dictionary=dict(zip_obj)
encode_str=''
de_code=''
input_str=input("请输入你想要的加密明文:")
for char in input_str:
    encode_str=encode_str+str(dictionary[char])
print("密文输出:",encode_str)

10.2 通过键值对访问字典

  • 通过key来读取字典的值 dict[key]
代码:

    key1 = ['che', 'ma', 'niu', 'niu2']  # 定义一个列表为键列表,注意,这里key多了一个,而value少了一个,看最后zip对象转换成字典后是几个对应关系
    value1 = ['车', '马', '牛']  # 定义一个列表为值列表
    zip_result1 = zip(key1, value1)  # zip函数可以将连个列表组合成一个zip对象
    dictionary=dict(zip_result1) #zip对象转换为dict
    print(dictionary['ma'])  # 输出指定的键所对应的值

结果:
    马

标签:10,ma,zip,dictionary,print,dict,集合,字典
来源: https://www.cnblogs.com/baishancunfu/p/15121438.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有