Python学习笔记-字典(上)

字典是python独特的一种映射关系的数据类型,由成对的键值(项)组成。

  • 建立方法:

    1.直接输入键值建立

items ={‘apple‘:‘$5‘,‘pear‘:‘$4‘,‘banana‘:‘6‘}
print items[‘apple‘]

$5

注意一定使用{ }, 否则成了列表。

2. 通过dict函数从列表建立

items =[[‘apple‘,‘$5‘],[‘pear‘,‘$4‘],[‘banana‘,‘6‘]]
print items
print items[0:1]
ditems = dict(items)
print ditems
print ditems[‘apple‘]

[[‘apple‘, ‘$5‘], [‘pear‘, ‘$4‘], [‘banana‘, ‘6‘]]
[[‘apple‘, ‘$5‘]]
{‘pear‘: ‘$4‘, ‘apple‘: ‘$5‘, ‘banana‘: ‘6‘}
$5
  • 三点需要注意的:

1. Key类型可以是任意类型,例如float, tuple, string

2.不能对列表索引外的元素赋值,但是可以对字典中没有的key直接赋值添加。

x=[]
x[10]=53
IndexError: list assignment index out of range

x={}
x[10]=‘53‘

print x
{10: ‘53‘}

3. in 操作检查的是key,不是value,所以更高效。

例子:建立一个简单的数据库

#用字典建立一个项目管理数据库Project,key-项目名称,value里又包含两个字典A和B,key A - 项目人数 key B - 项目费用

#我们可以使用直接写键值项的方式建立字典,但数据量太大,为了简洁明了,首先分别建立列表A和B,组成小字典dA和dB, 然后再通过Project的关键字参数p1和p2组成大字典Project

A=[[‘nPeople‘,‘12‘],[‘nCost‘,‘$5000‘]]
B=[[‘nPeople‘,‘15‘],[‘nCost‘,‘$8000‘]]
dA=dict(A)
dB=dict(B)
print dict(dA)
print dict(dB)
P=dict(p1=dA,p2=dB)
print P

{‘nPeople‘: ‘12‘, ‘nCost‘: ‘$5000‘}
{‘nPeople‘: ‘15‘, ‘nCost‘: ‘$8000‘}
{‘p2‘: {‘nCost‘: ‘$8000‘, ‘nPeople‘: ‘15‘}, ‘p1‘: {‘nCost‘: ‘$5000‘, ‘nPeople‘: ‘12‘}}

接下去进行交互,提示输入项目编号p1 or p2, 检查数据库中是否存在,并输出需要的元素。

A=[[‘nPeople‘,‘12‘],[‘nCost‘,‘$5000‘]]
B=[[‘nPeople‘,‘15‘],[‘nCost‘,‘$8000‘]]
dA=dict(A)
dB=dict(B)
P=dict(p1=dA,p2=dB)
labels = {‘nPeople‘:‘number of people‘,‘nCost‘:‘cost of money ‘}
id=raw_input(‘Project id: ‘ )
request = raw_input(‘want to see nPeople(p) or nCost(c) ? ‘)
if request == ‘p‘:key = ‘nPeople‘
if request == ‘c‘:key = ‘nCost‘
if id in P : print "project %s‘s %s is %s." %(id,labels[key],P[id][key])
Project id: p1
want to see nPeople(p) or nCost(c) ? c
project p1‘s cost of money  is $5000.

Project id: p2
want to see nPeople(p) or nCost(c) ? p
project p2‘s number of people is 15.
时间: 2024-10-13 15:16:18

Python学习笔记-字典(上)的相关文章

python学习笔记-Day17 (上节知识点补充)

自定义三角符号 <style>     .arrow{         display: inline-block;                 border-top: 10px solid;         border-right: 10px solid;         border-bottom: 10px solid;         border-left: 10px solid;         /*border-top: transparent;   设置颜色为透明色, t

Python学习笔记-字典(下)

同列表和字符串一样,字典也有方法. clear 清空字典中的所有项. 我们可以把空字典赋给某一字典来清空它当中的项.也可以使用clear方法彻底清空字典. x= {} y=x x['age']='25' x['gender']='male' print x  x.clear() print x  print y  {'gender': 'male', 'age': '25'} {} {} 如果将 x.clear 改为 x={},则结果变为 {'gender': 'male', 'age': '2

python学习笔记字典(四)

字典是python中唯一的映射类型,采用键值对(key-value)的形式存储数据.python对key进行哈希函数运算,根据计算的结果决定value的存储地址,所以字典是无序存储的,且key必须是可哈希的.可哈希表示key必须是不可变类型,如:数字.字符串.元组. 字典(dictionary)是除列表意外python之中最灵活的内置数据结构类型.列表是有序的对象结合,字典是无序的对象集合.两者之间的区别在于:字典当中的元素是通过键来存取的,而不是通过偏移存取. 创建字典:  = {::} sh

Python学习笔记-字典

字典是python中唯一内建的映射类型. 创建字典phonebook = {'Alice':'2341','Beth':'9102'} 可以使用dict通过其他映射或者键值对的序列建立字典.关键值参数来创建字典. len(d)d中项的数量.d[k]返回关联到键的值,d[k] = v给键赋值,del d[k]删除键k,k in d是否含有键k. 键类型,自动添加,成员资格. 字典的格式化字符串. 方法: 1.clear清除字典中所有的项.在原地操作. 2.copy浅复制,改变值对原数据无影响,删除

Python学习笔记:字典(dict)有关内容

字典是Python中唯一的映射类型.映射类型对象里哈希值(键:key),和指向的对象(值:value),是一对多的关系,也就是 字典的元素分为两个部分,分别是键和值,一个键对应一个值,键不能够重复,值可以重复. 1.创建字典. (1).字典是用大括号({})来包含元素的,基本创建就是直接赋值,键不能是元组或者列表,但是值可以是. >>> D = {'a':1,'b':2,'c':3}<span style="white-space:pre"> </s

python学习笔记-Day8 上(pickle补充、字段、面向对象成员、成员修饰符、特殊方法)

pickle 序列化补充 # pickle load # 现在有两个python程序,调用关系如下 # s1.py class foo: …. Obj = foo(x,y) Pickle.dump(obj, open(‘db’,’wb’)) S2.py # s2.py from s1 import foo pickle.load(db) # s2.py 反序列化加载包含对象,一定要先导入对象对应的类,否则Pickle load将会报错 类多继承关系 有共同父类的继承关系如下 如图,如果我们有两个

Python学习笔记——字典

1.创建字典和给字典赋值,可以使用工厂方法dict()来创建字典,也可以使用fromkeys()来创建一个元素具有相同值的字典 >>> dict = {'name':'XiaoMing','age':20} >>> dict {'age': 20, 'name': 'XiaoMing'} >>> dict2 = dict((['x',1],['y',2])) >>> dict2 {'y': 2, 'x': 1} >>>

python学习笔记2—python文件类型、变量、数值、字符串、元组、列表、字典

python学习笔记2--python文件类型.变量.数值.字符串.元组.列表.字典 一.Python文件类型 1.源代码 python源代码文件以.py为扩展名,由pyton程序解释,不需要编译 [[email protected] day01]# vim 1.py #!/usr/bin/python        print 'hello world!' [[email protected] day01]# python 1.py hello world! 2.字节代码 Python源码文件

python 学习笔记 3 -- 数据结构篇上

数据结构是可以处理一些 数据 的 结构 .或者说,它们是用来存储一组相关数据的.在Python中有三种内建的数据结构--列表.元组和字典.本文主要对这三种数据类型以及相关的使用做介绍,以例子的形式演示更加容易理解! 1.列表(List) 列表是处理一组有序项目的数据结构,即你可以在一个列表中存储一个 序列 的项目.在Python中,你在每个项目之间用逗号分割. 列表中的项目应该包括在**方括号**中,这样Python就知道你是在指明一个列表.一旦你创建了一个列表,你可以添加.删除或是搜索列表中的