#!/user/bin/env python
# -*- coding:utf-8 -*-

# 前面不用空格,后面空格
# 访问只能通过key
alien_0 = {'color': 'green', 'points':5}
print(alien_0['color'])
print(alien_0['points'])

# 键值对的添加
# 为了美观 选择合适的拆分
alien_0 = {
'color': 'green',
'points':5
}
print(alien_0)
alien_0['x_position'] = 0
alien_0['y_position'] = 25
print(alien_0)
# 添加循序不重要
# 修改字典中的值(覆盖)
print("The alien is " + alien_0['color'] + '.')
alien_0['color'] = 'yellow'
print("The alien is now " + alien_0['color'] + '.')

alien_0 = {'x_position': 0, 'y_position':25, 'speed': 'medium'}
print("Original x-position: " + str(alien_0['x_position']))

# 向右移动外星人
# 根据外星人的速度决定将其移动多远
if alien_0['speed'] == 'slow':
x_increment = 1
elif alien_0['speed'] == 'medium':
x_increment = 2
else:
x_increment = 3

# 新位置等于老位置加上增量
alien_0['x_position'] = alien_0['x_position'] + x_increment
print("New x-position :" + str(alien_0['x_position']))

# 删除键值对
# del 彻底删除(不能再次利用)
# def alien_0['poite]
# 【字典遍历】

user_0 = {
'username': 'efermi',
'first': 'enrico',
'last': 'fermi'
}
for key,value in user_0.items():
print("\nkey:" + key)
print("Value:" + value)

# 【遍历字典中的所有键】.keys()
for name in user_0.keys():
print('')
print(name.title())
# 按顺序遍历字典中的所有键sorted(user_0.keys())
# 遍历字典中的所有值.values()
# 【集合set】 可以去除重复项 set(user_0.values())

# 【嵌套】

# 【字典列表】
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)

print("")

# 创建30个外星人
aliens = []
for alien_number in range(30):
new_alien = {'color': 'green', 'points': 5, 'speed': 'slow'}
aliens.append(new_alien)

for alien in aliens[0:3]:
if alien['color'] == 'green':
alien['color'] = 'yellow'
alien['speed'] = 'medium'
alien['points'] = '10'
# 显示前5个 aliens[0:5]
for alien in aliens[0:5]:
print(alien)
print("Total number of aliens:" + str(len(aliens)))

print('')
# 将列表储存到列表

pizza = {
'crust': 'thick',
'toppings': ['mushrooms','extra cheese'],
}
print("You ordered a " + pizza['crust'] + "-crust pizza" +
"with the following toppings:")
for topping in pizza['toppings']:
print("\t" + topping)
# 通过访问字典的值拿到其对应的值

# 字典中储存字典
users = {
'aeinstein': {
'first': 'albert',
'last': 'einstein',
'location': 'prnceton',
},
'mcurie': {
'first': 'marie',
'last': 'curie',
'location': 'paris',
}
}
for username,user_info in users.items():
print('\nUsername: ' + username)
full_name = user_info['first'] + " " + user_info['last']
location = user_info['location']

print('\tFull name: ' + full_name.title())
print("\tLocation: " + location.title())

python从入门到实践-6章字典的更多相关文章

  1. python从入门到实践-8章函数

    #!/user/bin/env python# -*- coding:utf-8 -*- # 给形参指定默认值时,等号两边不要有空格 def function_name("parameter ...

  2. python从入门到实践-7章用户输入和while循环

    #!/user/bin/env python# -*- coding:utf-8 -*- # input() 可以让程序暂停工作# int(input('please input something: ...

  3. python从入门到实践 第二章

    python变量赋值: python的变量赋值 可以是单引号 也可以是双引号python 变量赋值的时候不能加()的 比如 name = "My Name is GF"变量赋值的时 ...

  4. python从入门到实践-11章测试模块(测试函数出问题)

    #!/user/bin/env python# -*- coding:utf-8 -*- # 用python中unittes中工具来测试代码 # 1.测试函数import unittestfrom n ...

  5. python从入门到实践-10章文件和异常(括号问题)

    #!/user/bin/env python# -*- coding:utf-8 -*- # 1.从文件中读取数据with open('pi_digits.txt') as file_object: ...

  6. python从入门到实践-9章类

    #!/user/bin/env python# -*- coding:utf-8 -*- # 类名采用的是驼峰命名法,即将类名中每个单词的首字母大写,而不使用下划线.# 对于每个类,都应紧跟在类定义后 ...

  7. python从入门到实践-5章if语句

    #!/user/bin/env python cars = ['audi','bmw','subaru','toyota']for car in cars: if car == 'bmw': prin ...

  8. Python:从入门到实践--第九章-类--练习

    #.餐馆:创建一个名为Restaurant的类,其方法_init_()设置两个属性:restaurant_name和cuisine_type. #创建一个名为describe_restaurant的方 ...

  9. python从入门到实践-4章操作列表

    magicians = ['alice','david','carolina']for magician in magicians: print(magician) print(magician.ti ...

随机推荐

  1. 添加一个非模态对话框在revit中

    RequestHandler handler = new RequestHandler(); ExternalEvent exEvent = ExternalEvent.Create(handler) ...

  2. expect 批量自动部署ssh 免密登陆 之 三

    #!/bin/expect -- ########################################## zhichao.hu #Push the id.pas.pub public k ...

  3. Laravel-google-authenticator--Google验证码

    开发前的准备 安装Laravel 安装二维码生成器QrCode,没有安装也可以,接下来会安装 安装拓展 1.运行如下代码安装拓展包: composer require "earnp/lara ...

  4. P1347 排序

    P1347 排序 题目描述 一个不同的值的升序排序数列指的是一个从左到右元素依次增大的序列,例如,一个有序的数列A,B,C,D 表示A<B,B<C,C<D.在这道题中,我们将给你一系 ...

  5. git在项目中的实际运用

    项目中只运用git版本管理的情况下: 1.创建分支命令: git branch (branchname) 切换分支命令: git checkout (branchname) 当你切换分支的时候,Git ...

  6. nginx 学习 不断更新

    nginx 常用全局变量 $uri: 当前请求的uri,不带参数 $request_uri: 请求的uri,带完整参数 $host: http请求报文中host首部,如果没有则以处理此请求的虚拟主机的 ...

  7. OpenCV-Python : 直方图

    啥叫直方图 直方图简单来说就是图像中每个像素值的个数统计,比如一副灰度图中像素值为0的有多少个,1的有多少个... 在计算直方图之前,先了解几个术语: dims:要计算的通道数,对于灰度图dims=1 ...

  8. 【webpack系列】从零搭建 webpack4+react 脚手架(四)

    经过三个章节的学习,你已经学会搭建了一个基于webpack4的react脚手架.如果要更改配置,比如,你希望把编译后的js文件和css文件等单独放dist下的static目录下,你想想,是不是有点麻烦 ...

  9. docker 安装mysql

    1.安装docker 参见这个文章第一步:https://www.cnblogs.com/yanglei-xyz/p/10600707.html 2.安装mysql 查找Docker Hub上的mys ...

  10. UOJ#345. 【清华集训2017】榕树之心 贪心,动态规划

    原文链接https://www.cnblogs.com/zhouzhendong/p/UOJ345.html 前言 我真的是越来越菜了,连树形DP都感觉陌生了. 题解 首先,我们来看看在不断生长叶子会 ...