# 有C 和C++基础的学习笔记

# 参考书《Python编程从入门到实践》

# Python 3

# 所有代码不给出运行结果,可直接copy

示范:

# coding=utf-8# 存储了两个 键-值对;'color'是一个键,与之相关联的值为'green'
alien_0 = {'color':'green','points':5} # 访问字典中的值:指定字典名和放在方括号内的键;字典名:alien_0
print(alien_0['color'])
print(alien_0['points'])

字典: 键-值对。每个键都与一个值关联,与键相关联的值可以是数字,字符串,列表乃至字典。

键和值之间用":"分隔,键-值对间用","分隔。

一、添加键-值对

# coding=utf-8alien_0 = {'color':'green','points':5}
print(alien_0)alien_0['x_position']=0 # 新增键'x_position',值为0
alien_0['y_position']=25# 新增键'y_position',值为25
print(alien_0)
# coding=utf-8
alien_0 = {} # 创建一个空字典 alien_0
alien_0['color']='green'
alien_0['points']=5
print(alien_0)

二、修改字典中的值

# coding=utf-8
alien_0 = {'color':'green'}
print("The alien is "+alien_0['color']+'.')alien_0['color'] = 'yellow' #将'green'修改为'yellow'
print("The alien is now "+alien_0['color']+'.')

三、删除键-值对

对于字典中不再需要的信息,可使用del语句将相应的键-值对彻底删除。

使用del语句时,必须指定字典名和要删除的键。

# coding=utf-8
alien_0 = {'color':'green','points':5}
print(alien_0)del alien_0['points'] #删除键 'points'
print(alien_0)

四、由类似对象组成的字典

# 注意较长语句的拆分。

# coding=utf-8
favorite_languages = {'jen':'python','sarah':'c','edward':'ruby','phil':'python'}
print(favorite_languages)print("Sarah's favorite language is "+favorite_languages['sarah'].title()+".")

五. 遍历字典

1. 遍历所有的键-值对

# -*- coding: gbk -*
user_0 = {'username':'efermi','first':'enrico','last':'fermi',}
# 声明两个变量key,value用于存储键-值对中的键和值.
# user_0.items()返回一个键-值对列表
# for循环依次将每个键-值对存储到指定的两个变量中.
for key,value in user_0.items():print("\nKey:"+key)print("Value:"+value)
# 遍历字典时,键-值对的返回顺序与存储顺序不同.

2. 遍历字典中的所有键

# -*- coding: gbk -*
favorite_languages = {'jen':'python','sarah':'c','edward':'ruby','phil':'python',}
# for name in favorite_languages:
for name in favorite_languages.keys():#提取字典中的所有键,并依次存储在变量name中print(name.title())

两个for语句输出结果一样,显式使用方法keys()可使代码更容易理解.

3. 按顺序遍历字典中的所有键

以特定顺序返回元素,在for循环中对返回的键进行排序:可使用函数sorted()来获得特定顺序排列的键列表的副本.

# -*- coding: gbk -*
favorite_languages = {'jen':'python','sarah':'c','edward':'ruby','phil':'python',}
for name in sorted(favorite_languages.keys()):# 在遍历前对这个列表进行排序print(name)

4. 遍历字典中的所有值

# -*- coding: gbk -*
favorite_languages = {'jen':'python','sarah':'c','edward':'ruby','phil':'python',}
print("The following languages have been mentioned:")
for language in favorite_languages.values():print(language.title())

用方法value().

没有考虑到是否重复.

剔除重复项,使用集合(set).

集合类似于列表,但每个元素都必须是独一无二的.

# -*- coding: gbk -*
favorite_languages = {'jen':'python','sarah':'c','edward':'ruby','phil':'python',}
print("The following languages have been mentioned:")
for language in set(favorite_languages.values()):print(language.title())

六 嵌套

1. 字典列表

# coding=utf-8
alien_0 = {'color':'green','points':5}
alien_1 = {'color':'yellow','points':10}
alien_2 = {'color':'red','points':15}aliens = [alien_0,alien_1,alien_2]for alien in aliens:print(alien)
# coding=utf-8
# 创建一个用于存储外星人的空列表
aliens = []#创建30个绿色的外星人
for alien_number in range(30):new_alien = {'color':'green','points':5,'speed':'slow'}aliens.append(new_alien)# 显示前五个外星人
for alien in aliens[:5]:print(alien)
print("...")# 显示创建了多少个外星人
print("Total number of aliens: "+str(len(aliens)))

2. 在字典中存储列表

# coding=utf-8
# 存储所点比萨的信息
pizza = {'crust':'thick','toppings':['mushrooms','extra cheese'], # pizza字典中存储列表}# 概述所点的比萨
print("You ordered a "+pizza['crust']+'-crust pizza' + "with the following toppings: ")# 循环打印toppings列表中的元素
for topping in pizza['toppings']:print("\t"+topping)
# coding=utf-8
favorite_languages = { # 名字-喜欢的语言'jen':['python','ruby'],'sarah':['c'],'edward':['ruby','go'],'phil':['python','haskell'],}for name,languages in favorite_languages.items():  # 遍历字典print("\n"+name.title()+"'s favorite language are: ")  # 打印键for language in languages:  #打印值: 列表循环print("\t"+ language.title())

修改, 使得当喜欢的语言只有一种时, 输出 "are" 变 为"is":

# coding=utf-8
favorite_languages = { # 名字-喜欢的语言'jen':['python','ruby'],'sarah':['c'],'edward':['ruby','go'],'phil':['python','haskell'],}for name,languages in favorite_languages.items(): if len(languages) == 1:  # 添加这句确定长度print("\n"+name.title()+"'s favorite language is: ")print("\t"+language.title())else:print("\n"+name.title()+"'s favorite language are: ")  for language in languages:  print("\t"+ language.title())

3. 在字典中存储字典

# coding=utf-8
users = {  #用户字典'aeinstein':{   #用户信息字典'first':'albert','last':'einstein','location':'priceton',},'mcurie':{'first':'marie','last':'curie','location':'paris',},}for username,user_info in users.items():print("\nUse\rname: "+username)full_name = user_info['first'] + " " + user_info['last']location = user_info['location']print("\tFull name: " + full_name.title()) # title()方法 使所有单词都以大写开头print("\tLocation: " + location.title())# print((user_info['first'] + " " + user_info['last']).title())

Python---字典相关推荐

  1. Python 字典(Dictionary) get()方法

    Python 字典(Dictionary) get()方法 描述 Python 字典(Dictionary) get() 函数返回指定键的值,如果值不在字典中返回默认值. 语法 get()方法语法: ...

  2. python 字典 的pop 方法

    python 字典pop 方法的作用: 字典 pop() 方法删除字典给定键 key 及对应的值,返回值为被删除的值 字典pop 的语法: pop(key[,default]) demo 练习字典po ...

  3. python字典一键多值_python字典中如何一键多值的写入?

    python字典中如何一键多值的写入? python字典中一键多值写入的方法: 1.循环写入字典key.value.删除指定的键值对: 原文本'jp_url.txt'每行元素以逗号分隔:host_ke ...

  4. python字典{:4}_Python字典101:详细的视觉介绍

    python字典{:>4} 欢迎 (Welcome) In this article, you will learn how to work with Python dictionaries, ...

  5. Python 字典(Dictionary)

    Python 字典(Dictionary) 字典是另一种可变容器模型,且可存储任意类型对象. 字典的每个键值(key=>value)对用冒号(:)分割,每个对之间用逗号(,)分割,整个字典包括在 ...

  6. python字典操作添加_Python字典常见操作实例小结【定义、添加、删除、遍历】

    本文实例总结了python字典常见操作.分享给大家供大家参考,具体如下: 简单的字典: 字典就是键值对key-value组合. #字典 键值对组合 alien_0 ={'color':'green', ...

  7. python 字典代码_Python 字典(Dictionary)

    Python 字典(Dictionary) 字典是另一种可变容器模型,且可存储任意类型对象. 字典的每个键值 key=>value 对用冒号 : 分割,每个键值对之间用逗号 , 分割,整个字典包 ...

  8. python字典(dict)+常用方法操作+列表、元组、集合、字典的互相转换

    python字典(dict)+常用方法操作+列表.元组.集合.字典的互相转换 字典也是 Python 提供的一种常用的数据结构,它用于存放具有映射关系的数据. 为了保存具有映射关系的数据,Python ...

  9. python字典之defaultdict详解

    python字典之defaultdict详解 defaultdict为你的字典设定一个默认值或者默认值的数据类型: defaultdict接受一个工厂函数作为参数,如下来构造: dict =defau ...

  10. python字典练习题

    python字典练习题 写代码:有如下字典按照要求实现每一个功能dict = {"k1":"v1","k2":"v2", ...

最新文章

  1. java.net.noroute,java.net.NoRouteToHostException: No route to host
  2. Linux加密框架crypto crypto_alg|cipher_alg数据结构|AES例子
  3. HTML网页使用CDN的jquery.qrcode.min.js生成页面二维码(直接可以复制使用)
  4. 『资源』机器学习实践中文资源合集
  5. C++ const和static const的区别
  6. 计算机组成与系统结构第二版答案
  7. 立创EDA学习笔记(4)——原理图绘制
  8. Gantt - attachEvent事件监听 - (必须)拥有返回值事件
  9. ios 开发证书导出p12文件_IOS开发 把cer证书转为p12证书
  10. 自制solidworks图框步骤_如何建立标准的solidworks图框模板
  11. windowManager添加的View 层级管理
  12. 第4章第20节:异形图表:使用子母饼图制作人员组成表 [PowerPoint精美幻灯片实战教程]
  13. (43.1)【web应用漏洞发现】漏洞平台、开发框架、CMS漏扫工具
  14. 数字逻辑 课程设计 多功能电子钟 Quartus II
  15. 将小写人民币转换成大写
  16. YC出品的创业第一课:How to start a startup
  17. 使用Process Explorer和Dependency Walker排查C++程序中dll库动态加载失败问题
  18. Python-opencv的指针检测、表盘识别算法案例分析
  19. win7安装IIS 防火墙设置
  20. 乐忧商城项目总结-4

热门文章

  1. spring 狂神说的详细笔记
  2. x264压制4K HDR电影的vs转换脚本,由HDR到SDR
  3. Docker(13)-- Docker 网络
  4. 分支限界,流水作业问题 批处理作业调度
  5. ISBN-10和ISBN-13有什么区别?
  6. 基于autojs编写一个自弹钢琴脚本——《纸短情长》
  7. 关于opencv获取摄像头数据时报错问题
  8. 个人收藏视频资源 | 一大波干货来袭
  9. 科研人员和各科老师写的学科春联新鲜出炉,祝您和家人“牛年快乐”!
  10. 红外成像主板服务器智能监控,红外热成像仪:监控应用涉及面广泛