关闭

Python中字典的增、删、创建、索引与字典方法clear,copy,formkeys,get,has_key,popitem,update

标签: 字典Python索引
8949人阅读 评论(0) 收藏 举报
分类:
#_*_coding:UTF-8_*_
# 1.字典序的创建
# 1.1基本字典的创建
# dictionary_name={key1:value1,key2:value2,...}
# dictionary_name={} 空字典
# 字典中的键是唯一的,而值并不是唯一。
userDic={'0003':'June','0002':'Tom'}
print userDic
# 输出:{'0002': 'Tom', '0003': 'June'}
# 1.2使用dict()函数创建字典
userDic=[(2,'maxianglin'),(1,'wanglili'),(3,'malinlin')]
dic_userDic=dict(userDic)
print dic_userDic
# 输出:{1: 'wanglili', 2: 'maxianglin', 3: 'malinlin'}
userDic=dict(name='maxianglin',age=24,sex='0')
print userDic
# 输出:{'age': 24, 'name': 'maxianglin', 'sex': '0'}
# 2字典序的基本操作
# 2.1向字典中添加元素
# a)可以调用setdefault(key,[,default_value])
# b)dictionary_name['key']='value',这条语句中的key不在字典dictionary_name的key列表中,那么字典dictionary_name将被添加一条新的映射(key:value);如果键key已经存在字典dictionary_name中,那么字典dictionary_name将直接修改key对应的value值。
# pirnt dictionary_name['key'] 如果访问的元素不存在时,则会报错~!
userDic={'0001':'maxianglin','0002':'wanglili','0003':'malinlin'}
userDic.setdefault('0004','zhuhongtao') # 添加元素,键为0004,值为zhuhongtao
print userDic
userDic.setdefault('0001','zhangfang') # 向列表中添加值,但是参数0001在userDic字典中已经存在
print userDic
# 输出:
#{'0004': 'zhuhongtao', '0001': 'maxianglin', '0002': 'wanglili', '0003': 'malinlin'}
#{'0004': 'zhuhongtao', '0001': 'maxianglin', '0002': 'wanglili', '0003': 'malinlin'}
userDic={'0001':'maxianglin','0002':'wanglili','0003':'malinlin'}
userDic['0004']='zhangfang' #添加一个新值
print userDic
userDic['0002']='yangrui' # 修改键为0002的值
print userDic
# 输出:
#{'0004': 'zhangfang', '0001': 'maxianglin', '0002': 'wanglili', '0003': 'malinlin'}
#{'0004': 'zhangfang', '0001': 'maxianglin', '0002': 'yangrui', '0003': 'malinlin'}
# 2.2删除字典中原有的元素
# a)使用del()方法删除字典中的元素 del(dictionary_name[key])
# b)使用pop()方法删除字典中的元素 pop(key,[,default_value])
# c)使用del保留子删除字典中的元素 del dictionary_name[key]
userDic={'0001':'maxianglin','0002':'wanglili','0003':'malinlin'}
del(userDic['0002'])
print userDic
userDic2={'0001':'maxianglin','0002':'wanglili','0003':'malinlin'}
print userDic2.pop('0002')
print userDic2
userDic3={'0001':'maxianglin','0002':'wanglili','0003':'malinlin'}
del userDic3['0002']
print userDic3
# 输出:
#{'0001': 'maxianglin', '0003': 'malinlin'}
#wanglili
#{'0001': 'maxianglin', '0003': 'malinlin'}
#{'0001': 'maxianglin', '0003': 'malinlin'}
# 2.3字典的遍历
# a)使用for...in循环便利字典 
# b)使用items()方法便利字典
# c)使用iteritems(),iterkeys(),itervalues()方法遍历字典
userDic={'0001':'maxianglin','0002':'wanglili','0003':'malinlin'}
for key in userDic:
    print 'userDic[%s]=' % key,userDic[key]
print userDic.items()
for (key,value) in userDic.items():
    print 'userDic[%s]=' % key,value
for (key,value) in userDic.iteritems():
    print 'userDic[%s]=' % key,value
for key in userDic.iterkeys():
    print key
for value in userDic.itervalues():
    print value
for (key,value) in zip(userDic.iterkeys(),userDic.itervalues()):
    print 'userDic[%s]=' % key,value
# 输出:
'''
userDic[0001]= maxianglin
userDic[0002]= wanglili
userDic[0003]= malinlin
[('0001', 'maxianglin'), ('0002', 'wanglili'), ('0003', 'malinlin')]
userDic[0001]= maxianglin
userDic[0002]= wanglili
userDic[0003]= malinlin
userDic[0001]= maxianglin
userDic[0002]= wanglili
userDic[0003]= malinlin
0001
0002
0003
maxianglin
wanglili
malinlin
userDic[0001]= maxianglin
userDic[0002]= wanglili
userDic[0003]= malinlin
'''
# 3字典的方法
# a)clear()方法用于清除字典所有的项,无返回值;dictionary_name.clear()
userDic={'0001':'maxianglin','0002':'wanglili','0003':'malinlin'}
print 'orginal:',userDic
userDic.clear()
print 'changed:',userDic
'''
输出:
orginal: {'0001': 'maxianglin', '0002': 'wanglili', '0003': 'malinlin'}
changed: {}
'''
# b)copy()方法返回一个具有相同键-值对的新字典;dictionary_targetName=dictionary_sourceName.copy()
source_userDic={'0001':'maxianglin','0002':'wanglili','0003':'malinlin'}
target_userDic=source_userDic.copy()
print 'source:',source_userDic
print 'target:',target_userDic
'''
输出:
source: {'0001': 'maxianglin', '0002': 'wanglili', '0003': 'malinlin'}
target: {'0001': 'maxianglin', '0002': 'wanglili', '0003': 'malinlin'}

'''
# c)fromkeys()方法使用给定的键来建立新的字典,每个键默认对应的值为None;dictionary_name.formkeys([key1,key2,...],(default_value))
print {}.fromkeys(['0001','0002'])
source_userDic={'0001':'maxianglin','0002':'wanglili','0003':'malinlin'}
print source_userDic.fromkeys(['0001','0002'])
print source_userDic.fromkeys(['0001','0002'],'maxianglin')
# 输出:
#{'0001': None, '0002': None}
#{'0001': None, '0002': None}
#{'0001': 'maxianglin', '0002': 'maxianglin'}
# d)get()方法用于访问字典中的某个元素,返回该元素的value值。如果访问的字典元素不存在,则返回None.dictionary_name.get(key)
userDic={'0001':'maxianglin','0002':'wanglili','0003':'malinlin'}
print userDic.get('0002')
print userDic.get('0004') # 反回None
# print userDic['0004']   会报错~!
'''
输出:
wanglili
None
'''
# e)has_key()方法可以检查字典中是否含有指定的键,如果有,返回True,否则返回False;dictionary_name.has_key(key)
userDic={'0001':'maxianglin','0002':'wanglili','0003':'malinlin'}
print userDic.has_key('0004')
print userDic.has_key('0002')
'''
输出:
False
True
'''
# f)popitem()方法类似列表中的pop()方法,但是popitem()方法弹出随机的元素;dictionary_name.popitem()
userDic={'0001':'maxianglin','0002':'wanglili','0003':'malinlin'}
print userDic.popitem()
print userDic.popitem()
print userDic
'''
输出:
('0001', 'maxianglin')
('0002', 'wanglili')
{'0003': 'malinlin'}
'''
# g)update()方法可以利用一个字典项更新另外一个字典,无返回值;update_dictionary.update(source_dictionary)
userDic={'0001':'maxianglin','0002':'wanglili','0003':'malinlin'}
newDic={'0002':'zhangfang'}
userDic.update(newDic)
print userDic
# 输出:{'0001': 'maxianglin', '0002': 'zhangfang', '0003': 'malinlin'}

0
0
查看评论

Python中的字典索引

Python中的符合数据类型:字符串,列表和序列。它们用整数作为索引。如果你试图用其他的类型做索引,就会产生错误。 >>> list = [1 ,2,3] >>> list[0] 1 >>> list['one'] Traceba...
  • liuguiyangnwpu
  • liuguiyangnwpu
  • 2013-07-11 16:06
  • 8664

Python 字典:当索引不好用时

字典:当索引不好用时 我们已经了解到,列表这种数据结构适用于将值组织到一个结构中,并且通过编号对其引用。本章学习一种通过`名字来引用值的数据结构。这种类型的数据结构称为映射。字典是Python中唯一内建的映射类型。字典中的值并没有特殊的顺序,但是都储存在一个特定的键(Key)下。键可以是数字、...
  • qq_35175481
  • qq_35175481
  • 2016-10-04 12:16
  • 1000

Python - 字典(dict)删除元素

字典(dict)删除元素, 可以选择两种方式, dict.pop(key)和del dict[key].代码# -*- coding: utf-8 -*- def remove_key(d, key): r = dict(d) del r[key] return r x = ...
  • u012515223
  • u012515223
  • 2015-07-25 21:37
  • 36451

Python中字典创建、遍历、添加等实用操作技巧合集

字段是Python是字典中唯一的键-值类型,是Python中非常重要的数据结构,因其用哈希的方式存储数据,其复杂度为O(1),速度非常快。下面列出字典的常用的用途. 一、字典中常见方法列表 复制代码 代码如下: #方法     ...
  • u010159842
  • u010159842
  • 2017-05-02 14:32
  • 3568

Python中字典(dict)详解

python字典:   一个映射对象将可散列的值映射到任意对象。映射类型是可变的对象。当前只有一种标准的映射类型,即字典。用作键值的数字类型遵循正常的数值比较规则:如果两个数是相等的(例如1和1.0),那么它们可以交替使用来索引同一个字典条目。(但是注意,由于计算机将浮点数存储为近似值,所以将他们...
  • jeryjeryjery
  • jeryjeryjery
  • 2017-05-26 17:33
  • 1579

python 字典操作提取key,value

python 字典操作提取key,value dictionaryName[key] = value1.为字典增加一项 2.访问字典中的值 3、删除字典中的一项 4、遍历字典 5、字典遍历的key\value 6、字典的标准操作符 7、判断一个键是否在字典中 ...
  • HHTNAN
  • HHTNAN
  • 2017-08-14 17:24
  • 15663

python的【字典dict】:创建、访问、更新、删除;查看键、值、键值对;遍历;排序

字典是另一种可变容器模型,且可存储任意类型对象。 字典的每个键值(key=>value)对用冒号(:)分割,每个对之间用逗号(,)分割,整个字典包括在花括号({})中 ; 字典值可以没有限制地取任何python对象,既可以是标准的对象,也可以是用户定义的;但键不行,如果同一个键被赋值两次...
  • mmc2015
  • mmc2015
  • 2016-03-02 09:46
  • 9225

如何用在python中迭代一个列表以及字典的索引和值?

本文摘自《编写高质量代码,改善python程序的91个建议》大家有兴趣的可以看看本书。其中列出了很多非常实用的建议。对序列进行迭代并获取序列中的元素。方法一:在每次循环中对索引变量进行自增li = ['a', 'b', 'c', 'd'...
  • afar_ch
  • afar_ch
  • 2016-06-26 14:00
  • 476

dict()字典的函数『索引 新增 删除 键、值、键值对 循环 长度』

class dict(object):     """     dict() -> new empty dictionary     dict(mapping) -> new dictiona...
  • huangfu77
  • huangfu77
  • 2017-01-31 13:32
  • 220

python的dataframe删除原来索引,重新建立从0开始的索引

def test4(): obj3 = Series(['blue', 'purple', 'yellow'], index=[0, 2, 4]) print obj3 obj4 = obj3.reset_index(drop=...
  • Yan456jie
  • Yan456jie
  • 2016-08-02 16:47
  • 17568
    个人资料
    • 访问:290101次
    • 积分:3998
    • 等级:
    • 排名:第9351名
    • 原创:329篇
    • 转载:17篇
    • 译文:10篇
    • 评论:35条
    博客专栏
    最新评论