python数据结构之字典
1、python字典的定义
1、用大括号{},以逗号分隔每个键值对,键与值之间用冒号连接
2、键:需要不可变的数据结构,值可以是任意的数据对象
3、字典是无序的,键在字典中必须是唯一,在字典中取值的方式是以键寻找相对应的的值
a = {}
c = dict()
a
{}
c
{}
b = {'a':'hello','c':'you','b':'how'}
a = [,,]
b = ['a','b','c']
d = dict(zip(a,b))
d
{: 'a', : 'b', : 'c'} 给字典中的项value赋值
a = {:}
a[] =
a
{: } 字典的访问
b
{'a': 'hello', 'c': 'you', 'b': 'how'}
b.get('a')
'hello'
增:
fruits
{'a': 'apple', 'b': 'banana', 'g': 'grape', 'o': 'orange'}
fruits.setdefault('martin',) fruits.setdefault('a','appleaaa')
'apple'
fruits
{'a': 'apple', 'b': 'banana', 'g': 'grape', 'o': 'orange', 'martin': } fruits.update({:})
fruits.update({'a':'appleupdate'})
fruits
{'a': 'appleupdate', 'b': 'banana', 'g': 'grape', 'o': 'orange', 'martin': , : }
) setdefault:参数是key和value,如果key不存在,在添加key:value,如果key存在,什么也不做。
) update:参数是key和value,不管key存不存在,都变成 key:value的形式。 删除(工作中不常用)
fruits
{'a': 'appleupdate', 'b': 'banana', 'g': 'grape', 'o': 'orange', 'martin': , : }
fruits.pop() fruits
{'a': 'appleupdate', 'b': 'banana', 'g': 'grape', 'o': 'orange', 'martin': } 改:
、赋值
、update a
{: , : , : }
a[] =
a
{: , : , : , : }
a[] =
a
{: , : , : , : }
a.update({:})
a
{: , : , : , : } 查
a
{: , : , : , : }
a.get() a[] 两种取值的区别:
当key不存在的时候,get不会报错,
通过[key]方式去取值的时候,会报错
字典的遍历
、for item in _dict:
print itme 、for k,v in a.items():
print k,v a = {:,:,'ss':} for item in a:
print(item) a = {:,:,'ss':} for k,v in a.items():
print(k,v) 当把字典当成序列的时候,指的是key组成的序列
超市购物
#coding:gbk
import sys
food_price = {'apple':5, 'orange': 8, 'banana':3, 'beef':40, 'pork':26, 'cocacola':3} while True:
try:
money = int(input('pls input your money: '))
break
except:
print('your input in not conrrect,pls input a number') shooping_list = [] while True:
print('\n 目前可购买的商品:')
for food,price in food_price.items():
print(food,price) if money < min(food_price.values()):
print('\n sorry,you have not enough money to buy any food\n')
if shooping_list:
print('\n 你已经买了如下商品:\n %s' %shooping_list)
print('\n 你现在有%s,选择一支商品吧' % money) _choice = input('\n pls input your choice:')
choice = _choice.strip() if choice in ['quit','exit','q']:
print('\n 你已经买了如下商品 \n %s' %shooping_list)
sys.exit() if choice not in food_price:
print('\n 你已经买了如下商品\n %s' %shooping_list)
continue price = food_price[choice]
print('\n 你选择的商品:%s的价格:%s' %(choice,price)) if money >= price:
shooping_list.append(choice)
money = money - price
print('\n你的余额是 %s \n' % money)
else:
print('\nsorry,买不起,您剩余:%s$, %s 的价格是 %s $, 真穷!' % (money, choice, price))
python数据结构之字典的更多相关文章
- Python数据结构之三——dict(字典)
Python版本:3.6.2 操作系统:Windows 作者:SmallWZQ 知识源于生活.Python也是如此. 提到字典,我首先想到的是数学大师--高斯. 为何想起他呢?这主要是因为高斯算法 ...
- 小白学 Python(13):基础数据结构(字典)(下)
人生苦短,我选Python 前文传送门 小白学 Python(1):开篇 小白学 Python(2):基础数据类型(上) 小白学 Python(3):基础数据类型(下) 小白学 Python(4):变 ...
- 小白学 Python(12):基础数据结构(字典)(上)
人生苦短,我选Python 前文传送门 小白学 Python(1):开篇 小白学 Python(2):基础数据类型(上) 小白学 Python(3):基础数据类型(下) 小白学 Python(4):变 ...
- 学Python常用数据结构之字典
迄今为止,我们已经为大家介绍了Python中的三种容器型数据类型,但是这些数据类型还不足以帮助我们解决所有的问题.例如,我们要保存一个人的信息,包括姓名.年龄.体重.单位地址.家庭住址.本人手机号.紧 ...
- python数据结构与算法
最近忙着准备各种笔试的东西,主要看什么数据结构啊,算法啦,balahbalah啊,以前一直就没看过这些,就挑了本简单的<啊哈算法>入门,不过里面的数据结构和算法都是用C语言写的,而自己对p ...
- python数据结构之图的实现
python数据结构之图的实现,官方有一篇文章介绍,http://www.python.org/doc/essays/graphs.html 下面简要的介绍下: 比如有这么一张图: A -> B ...
- Python数据结构与算法--List和Dictionaries
Lists 当实现 list 的数据结构的时候Python 的设计者有很多的选择. 每一个选择都有可能影响着 list 操作执行的快慢. 当然他们也试图优化一些不常见的操作. 但是当权衡的时候,它们还 ...
- Python数据结构与算法--算法分析
在计算机科学中,算法分析(Analysis of algorithm)是分析执行一个给定算法需要消耗的计算资源数量(例如计算时间,存储器使用等)的过程.算法的效率或复杂度在理论上表示为一个函数.其定义 ...
- Python数据结构之四——set(集合)
Python版本:3.6.2 操作系统:Windows 作者:SmallWZQ 经过几天的回顾和学习,我终于把Python 3.x中的基础知识介绍好啦.下面将要继续什么呢?让我想想先~~~嗯,还是 ...
随机推荐
- redis redis-cli 操作指令
默认选择 db库是 0 redis-cli -p 6379 查看当前所在“db库”所有的缓存key redis 127.0.0.1:6379> keys * 选择 db库 redis 1 ...
- 项目实战8.1—tomcat企业级Web应用服务器配置与会话保持
分类: Linux架构篇 tomcat企业级Web应用服务器配置与实战 环境背景:公司业务经过长期发展,有了很大突破,已经实现盈利,现公司要求加强技术架构应用功能和安全性以及开始向企业应用.移动A ...
- JZOJ 5461. 【NOIP2017提高A组冲刺11.8】购物
5461. [NOIP2017提高A组冲刺11.8]购物 (File IO): input:shopping.in output:shopping.out Time Limits: 1000 ms ...
- 第2章 CentOS7集群环境配置
目录 2.1 关闭防火墙 2.2 设置固定IP 2.3 修改主机名 2.4 添加用户 2.5 修改用户权限 2.6 新建目录 2.7 安装JDK 1.卸载系统自带的JDK 2.安装JDK 2.8 克隆 ...
- [译]The Python Tutorial#7. Input and Output
[译]The Python Tutorial#Input and Output Python中有多种展示程序输出的方式:数据可以以人类可读的方式打印出来,也可以输出到文件中以后使用.本章节将会详细讨论 ...
- pandas知识点(处理缺失数据)
pandas使用浮点值NaN表示浮点和非浮点数组中的缺失数据: In [14]: string_data = Series(['aardvark','artichoke',np.nan,'avocad ...
- 时间转换,django的时间设置,re模块简单校验密码和手机号
时间转换和密码,手机的re模块简单校验 import re,time def check_userinfo(request): pwd = request.POST.get("pwd&quo ...
- django admin模块使用
BBS之admin组件的使用 1.创建超级管理员 创建超级管理员 一. tools>>>>runmanagepyTask>>>>>createsu ...
- DAG上的动态规划——嵌套矩阵问题
问题描述:有n个矩形,每个矩形可以用两个整数a,b描述,表示它的长和宽.矩形X(a,b)可以嵌套在矩形Y(c,d)中当且仅当a<c,b<d,或者b<c,a<d(相当于把矩形X旋 ...
- 动态规划:HDU1248-钱币兑换问题
解题心得: (青蛙跳台阶:有n阶台阶,青蛙可以一次跳一阶也可以一次跳两阶,问总共有多好中跳法) 1.之前把这个问题的思路弄错了,以为是递推,就像青蛙跳台阶,用斐波那契求解.但是用斐波那契肯定会超范围. ...