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数据结构之字典的更多相关文章

  1. Python数据结构之三——dict(字典)

    Python版本:3.6.2  操作系统:Windows  作者:SmallWZQ 知识源于生活.Python也是如此. 提到字典,我首先想到的是数学大师--高斯. 为何想起他呢?这主要是因为高斯算法 ...

  2. 小白学 Python(13):基础数据结构(字典)(下)

    人生苦短,我选Python 前文传送门 小白学 Python(1):开篇 小白学 Python(2):基础数据类型(上) 小白学 Python(3):基础数据类型(下) 小白学 Python(4):变 ...

  3. 小白学 Python(12):基础数据结构(字典)(上)

    人生苦短,我选Python 前文传送门 小白学 Python(1):开篇 小白学 Python(2):基础数据类型(上) 小白学 Python(3):基础数据类型(下) 小白学 Python(4):变 ...

  4. 学Python常用数据结构之字典

    迄今为止,我们已经为大家介绍了Python中的三种容器型数据类型,但是这些数据类型还不足以帮助我们解决所有的问题.例如,我们要保存一个人的信息,包括姓名.年龄.体重.单位地址.家庭住址.本人手机号.紧 ...

  5. python数据结构与算法

    最近忙着准备各种笔试的东西,主要看什么数据结构啊,算法啦,balahbalah啊,以前一直就没看过这些,就挑了本简单的<啊哈算法>入门,不过里面的数据结构和算法都是用C语言写的,而自己对p ...

  6. python数据结构之图的实现

    python数据结构之图的实现,官方有一篇文章介绍,http://www.python.org/doc/essays/graphs.html 下面简要的介绍下: 比如有这么一张图: A -> B ...

  7. Python数据结构与算法--List和Dictionaries

    Lists 当实现 list 的数据结构的时候Python 的设计者有很多的选择. 每一个选择都有可能影响着 list 操作执行的快慢. 当然他们也试图优化一些不常见的操作. 但是当权衡的时候,它们还 ...

  8. Python数据结构与算法--算法分析

    在计算机科学中,算法分析(Analysis of algorithm)是分析执行一个给定算法需要消耗的计算资源数量(例如计算时间,存储器使用等)的过程.算法的效率或复杂度在理论上表示为一个函数.其定义 ...

  9. Python数据结构之四——set(集合)

    Python版本:3.6.2  操作系统:Windows  作者:SmallWZQ 经过几天的回顾和学习,我终于把Python 3.x中的基础知识介绍好啦.下面将要继续什么呢?让我想想先~~~嗯,还是 ...

随机推荐

  1. cout对象一些常用方法的总结

    cout.precision(n); 这个方法的功能是,设置精度为n,返还值是上一次的设置精度. #include <iostream> using namespace std; int ...

  2. python查看安装包

    D:\Python27\Scripts>pip listbackports.ssl-match-hostname (3.4.0.2)basicauth (0.2)certifi (14.5.14 ...

  3. C# 多态与new关键字

    1. 你通常怎样用多态? 假设我有一个类,里面有一个 PrintStatus 方法,用于打印实例的当前状态,我希望该类的派生类都带有一个 PrintStatus 方法,并且这些方法都用于打印其实例的当 ...

  4. UITableView 优化总结

    最近在微博上看到一个很好的开源项目VVeboTableViewDemo,是关于如何优化UITableView的.加上正好最近也在优化项目中的类似朋友圈功能这块,思考了很多关于UITableView的优 ...

  5. JAVA 优先获取外网Ip,再获取内网Ip

    1.获取内网Ip private String getLocalhostIp(){ String hostAddress = ""; try { InetAddress addre ...

  6. 八、MySQL 数据类型

    MySQL 数据类型 MySQL中定义数据字段的类型对你数据库的优化是非常重要的. MySQL支持多种类型,大致可以分为三类:数值.日期/时间和字符串(字符)类型. 数值类型 MySQL支持所有标准S ...

  7. 二 python并发编程之多进程-重点

    一 multiprocessing模块介绍 python中的多线程无法利用多核优势,如果想要充分地使用多核CPU的资源(os.cpu_count()查看),在python中大部分情况需要使用多进程.P ...

  8. django之模型层

    1. ORM MVC或者MTV框架中包括一个重要的部分,就是ORM,它实现了数据模型与数据库的解耦,即数据模型的设计不需要依赖于特定的数据库,通过简单的配置就可以轻松更换数据库,这极大的减轻了开发人员 ...

  9. HDU 2087 HDU 1867 KMP标准模板题

    贴两道题,其中HDU2087是中文题,故不解释题目, 思路是,一发KMP,但是特别处理最后一位的失配边为0,这样就可以保证“判断完成但是不多判断”. 第二题,很毒瘤的题,要求求出,给定字符串A,B能够 ...

  10. java流、文件以及IO

    读写文件 一个流被定义为一个数据序列.输入流用于从源读取数据,输出流用于向目标写数据. 输入流和输出流的类层次图. FileInputStream FileInputStream用于从文件中读取数据, ...