1.列表推导式的转化:映射

result = [list1[list2.index(each)] for each in list3]result = []
for each in list3: #list3为输入的值,要在list2中寻找和list3中相同的输入的值的索引值temp = list2.index(each) #将对应位置的索引值放入临时的列表中result.append(list1[temp]) #将对应位置的索引值在list1中的元素放入结果
list1 = [摩斯电码表]
for each in list2#输入值:temp = list1.index(each) #映射:找索引值result.append(list1.[temp+1])result = [list1[list1.index(each)+1] for each in list2]
#把每个在list2中的与list1中元素相等的值的索引值,放到一个临时列表里,把这些个索引值+1对应的在list1中的元素组成一个新列表

2.几对映射关系

>>> diction = {'阿米娅':'兔子','凯尔希':'猞猁'}
>>> type(diction)
<class 'dict'>
>>> diction['阿米娅'] #读取
'兔子'
>>> diction['陈'] = '龙'
>>> diction
{'阿米娅': '兔子', '凯尔希': '猞猁', '陈': '龙'}
>>> 
>>> dict1 = {}
>>> dict1 = dict(((1,'two'),(2,'three')))  #dict后跟参数,括号里跟元组,元组里的括号是映射关系
>>> dict1
{1: 'two', 2: 'three'}
>>> 

添加字典元素:

tinydict['Age'] = 8               # 更新 Age

删减字典元素:

tinydict = {'Name': 'Runoob', 'Age': 7, 'Class': 'First'}del tinydict['Name'] # 删除键 'Name'
tinydict.clear()     # 清空字典
del tinydict         # 删除字典

3.split函数:

>>> str1 = '12#23#34#45'
>>> str1.split('#',1)
['12', '23#34#45']
>>> str1.split('#')
['12', '23', '34', '45']

4.

tinydict = {'Name': 'Runoob', 'Age': 27}print ("Age : ", tinydict.get('Age'))# 没有设置 Sex,也没有设置默认的值,输出 None
print ("Sex : ", tinydict.get('Sex'))  # 没有设置 Salary,输出默认的值  0.0
print ('Salary: ', tinydict.get('Salary', 0.0))

5.

>>> dict1 = {}
>>> dict1 = {1:'one',2:'two',3:'three'}
>>> dict1.keys()
dict_keys([1, 2, 3])
>>> dict1.values()
dict_values(['one', 'two', 'three'])
>>> dict1.items()
dict_items([(1, 'one'), (2, 'two'), (3, 'three')])
>>> dict1.pop(2)
'two'
>>> dict1
{1: 'one', 3: 'three'}
>>> dict1.popitem()
(3, 'three')
>>> 

6.通讯录作业:

print('欢迎进入通讯录程序')
print('1.查询联系人')
print('2.插入联系人')
print('3.删除联系人')
print('4.退出通讯录')
contact={'小王':123,'小李':254,'小张':125,'小徐':785}
while 1:jianru = input('请输入操作符:')if jianru == '1':#1操作jianru1 = input('请输入要查询的联系人:')print(contact[jianru1])continueif jianru == '2':#2操作jianru21 = input('请输入插入的联系人姓名:')jianru22 = input('请输入新建联系人的号码:')contact[jianru21] = jianru22print('新建通讯录:')print(contact)continueif jianru == '3':#3操作jianru3 = input('请输入要删除的联系人:')del contact[jianru3]print('新建通讯录:')print(contact)continueif jianru == '4':#4操作breakelse:print('无效操作,请重新输入:')continue

7.登入程序作业:

我的:

#初始化
print('|--- 新建用户:N/n ---|')
print('|--- 登录账号:E/e ---|')
print('|--- 退出程序:Q/q ---|')
state_deng = 2
state_yonghu = 2
ku = {'小王':123,'小李':254,'小张':125,'小徐':785}#程序
while 1:inp = input('|--- 输入指令代码:')#注册程序if inp == 'N' or inp == 'n':yonghu = input('请输入用户名:')for eachkey in ku.keys():#判断是否用户名重复if eachkey == yonghu:state_yonghu = 0 #重复用户名breakelse:state_yonghu = 1 #可用用户名continueif state_yonghu == 0:print('此用户名已被使用,请重新输入')continueelif state_yonghu == 1:password = input('请输入密码:')password = int(password)ku[yonghu] = passwordprint('注册成功')continue#登录程序if inp == 'E' or inp == 'e':yonghu = input('请输入用户名:')for eachkey in ku.keys():#判断是否用户名重复if eachkey == yonghu:state_deng = 1 #已注册用户名breakelse:state_deng = 0 #未注册用户名continueif state_deng == 1:password = input('请输入密码:')password = int(password)if password == ku[yonghu]:print('登入成功')continueelse:print('密码错误')continueelif state_deng == 0:print('用户未注册')continue#退出程序:if inp == 'Q' or inp == 'q':break#检验程序
print(ku)

范例:


def new_user():prompt='请输入用户名:'while 1:name=input(prompt)if name in user_data:prompt='此用户已经被占用,请重新输入'continueelse:breakpassword=input("请输入密码:")user_data[name]=passwordprint("注册成功,赶快登陆吧")def old_user():prompt='请输入用户名:'while 1:name=input(prompt)if name not in user_data:prompt='您输入的用户名不存在,请输入:'continueelse:breakpassword=input("请输入密码:")pwd=user_data.get(name)if password==pwd:print("欢迎进入系统!")else:print("密码错误")def showmenu():prompt='''
新建用户:N/n
登录账号:E/e
退出程序:Q/q
请输入指令代码:'''while 1:chosen=Falsewhile not chosen:choice=input(prompt)if choice not in 'EQNneq':print('代码指令错误,请重新输入')else:chosen=Trueif choice=='q'or choice=='Q':breakif choice=='N'or choice=='n':new_user()if choice=='e'or choice=='E':old_user()showmenu()

8.集合:

长风破浪正其时,Python天谴变通途(9)(字典:不仅仅可以look over哦)相关推荐

  1. 长风破浪正其时,Python天堑变通途(1)(print和if)

    我了解到的基础知识: 1.我为什么学习Python:Python作为一门编程语言,可以把其他语言制作联结在一起,方便构建中小型的系统架构. 2.idle:是一种通过键入文本和程序交互的途径. 3.注意 ...

  2. Y05 - 999、Python - 风变编程

    初学耗时:999h 注:CSDN手机端暂不支持章节内链跳转,但外链可用,更好体验还请上电脑端. 『   因为要去见那个不一般的人,所以我就不能是一般人.』  Y99.专找免费随心学 - Y系列总纲   ...

  3. Python 计算变上限二重积分的数值模拟进阶

    Python 计算变上限二重积分的数值模拟进阶 示例1--- ∫ 0 1 d x ∫ 0 x d y \int_0^1\mathrm{d}x\int_0^x \mathrm{d}y

  4. chatgpt赋能python:Python如何变大字体的SEO技巧

    Python如何变大字体的SEO技巧 在网页设计和优化中,使用合适的字体和字体大小是至关重要的.对于使用Python编程的开发人员和网站管理员来说,如何使Pyhton代码中的字体变大是一个非常有用的技 ...

  5. VS code查看python程序变量值

    VS code查看python程序变量值 打开VS code 编写python程序代码 在需要查看的变量后添加断点 点击运行程序 用spyder观察变量更方便一些 打开VS code 编写python ...

  6. python把字符串转化为字典_python 将字符串转换为字典

    在一般的工程处理中,需要将获取的字符串数据转换为字典,这样处理起来会非常方便. 我获取的是json数据: content = {"corpus_no":"64702772 ...

  7. Python 为什么list不能作为字典的key?

    Python 为什么list不能作为字典的key? Posted on 2017年1月12日 by laixintao 7 Comments 很多Python初学者经常会有这样的疑问,为什么Pytho ...

  8. Day2 - Python基础2 列表、字典、集合 --转自金角大王

    Day2 - Python基础2 列表.字典.集合 --转自金角大王 Posted on 2018-01-24 13:23 Byd_lei 阅读(41) 评论(0)  编辑 收藏 本节内容 列表.元组 ...

  9. Python中集合set和字典dict的用法区别

    Python中集合set和字典dict的用法区别 核心知识点 Python列表(list).元组(tuple).字典(dict)和集合(set)详解 Python set集合详解 1. Python创 ...

最新文章

  1. myisam怎么读_耗时半年,我成功“逆袭”,拿下美团offer(刷面试题+读源码+项目准备)...
  2. aspectj xml
  3. python内置装饰器property_python之内置装饰器(property/staticmethod/classmethod)
  4. linux异步实现原理,Android异步处理四:AsyncTask的实现原理
  5. 【Express】—post传递参数
  6. 团队开发——用户需求报告
  7. LUT查表法乘法器所犯下错误。。。。
  8. 移植gettimeofday
  9. 周报_2011第40周(2011/09/25-2011/10/01)
  10. es3,es5语法记要
  11. 对索引存储与散列存储的一些形而上的思考
  12. Failed to connect to github.com port 443: Connection refused问题解决
  13. Python numpy.column_stack函数方法的使用
  14. OBS(Open Broadcaster Software)桌面视频直播软件/直播推流工具使用方法指南
  15. ROS学习笔记02、ROS使用C++、Python来实现HelloWorld
  16. React基础(貳)———组件
  17. Java 实现顺序表的基本操作
  18. element dialog 设置背景色
  19. 数据解读:​影视行业是不是没编剧了,怎么老是在翻拍网络小说?
  20. 浅谈ICMP/ping、traceroute、MTR、fping

热门文章

  1. 转载 内存或磁盘空间不足 Microsoft Excel无法再次打开解决方法
  2. 已提交内存过大_电脑内存条的作用、选购技巧以及注意事项详解
  3. 私人航空公司飞机HTML模板 - Flynext
  4. linux命令行还屏幕刷新率,Linux下显示器分辨率及刷新率设置
  5. 申请带@msn.com后缀的邮箱
  6. Ubuntu16.04升级内核并卸载不常用软件
  7. c语言16进制字符串型转整形,c语言htoi() --将16进制数组成的字符串转换成整型
  8. 机器人最大的人类士人禾力积木_机器人博览
  9. 还在转发杨超越?参加这场图表大show,你就能成为锦鲤本鲤!
  10. vue公众号调用微信扫一扫