博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
python字典及相关操作
阅读量:5358 次
发布时间:2019-06-15

本文共 1657 字,大约阅读时间需要 5 分钟。

1.字典

1.1.字典特性

    字典是一种key-value的数据类型。key必须可hash,必须为不可变数据类型,且必须是唯一的;value可以存放任意多个值、可修改、可以不唯一;字典是无序的,通过key值来定位和查找。

1.2.字典的创建

(1)dic = {}  # 定义一个空字典

(2)dic = {'张云':[24, 'design', 'UI', 2333], 'luozhi': [22, 'PR', 'wild model', 2345]}

(3){}.fromkeys(seq,'Jake')   # 不指定'Jake'默认为None

#  for example:

dic={}.fromkeys(['k1','k2'],[])print(dic){'k1': [], 'k2': []}

键与值用冒号“:”分开;项与项用逗号“,”分开。

2.字典常见操作

2.1.打印字典中的元素

print(dic['张云'])[24, 'design', 'UI', 2333]

2.2.修改

通过key值找到需要修改的内容,然后赋值

dic['张云'][1] = "设计部"print(dic['张云'])[24, '设计部', 'UI', 2333]

2.3.新增

如果给一个字典中不存在的key赋值,则字典中会增加这个元素

dic = {}dic['k3'] = 'v3'  # 新增print(dic){'k3':'v3'}

可以使用 ''.append() :

dic['k1'].append(1)print(dic){'k1': [1], 'k2': [1]}

另一种新增方式: dic.setdefault(key, None) ,如果字典中不存在Key键,由 dic[key] = default 为它赋值.

2.4.删除 (4种方式)

dic = {'k1': "v1", 'k2': "v2", 'k3': "v3"}

dic.pop('k2')  # 删除k2

dic.popitem()  # 随机删除

del  dic['k1']  # 删除k1

dic.clear()  # 清空字典,删除之后可以访问

2.5. 查看

(1)dic['key'],返回字典中key对应的值,若key不存在字典中,则报错;

(2)dict.get(key, default = None) 返回字典中key对应的值,若key不存在字典中,则返回default的值(default默认为None)

2.6. 字典其他方法

len(dic)  # 查字典dic中元素的个数

dic.keys()  返回一个包含字典所有KEY的列表

dic.values()  返回一个包含字典所有value的列表

dic.items()  返回一个包含所有(键,值)的列表

dic.iteritems()、dic.iterkeys()、dic.itervalues()   与它们对应的非迭代方法一样,不同的是它们返回一个迭代子,而不是一个列表

dic.update(dic1)  将字典dic1的键值对添加到字典dic中更新dic,如果dic中存在与dic1相同的key值,则该key值对应的内容被dic1覆盖,如果没有就添加

3. 遍历字典元素

dic = {'k1': "v1", 'k2': "v2", 'k3': "v3"}# 循环遍历出所有的keyprint("all keys:")for k in dic:    print(k)# 循环遍历出所有valueprint("all values:")for v in dic:    print(dic[v])# 循环打印所有key和valueprint("all keys and values:")for k in dic:    print(k,dic[k])

  

 

转载于:https://www.cnblogs.com/yanlin-10/p/8850592.html

你可能感兴趣的文章
【读书】个人购书经验总结
查看>>
第三章 Matlab的选择结构
查看>>
PHP二位数组按照数组的某个字段值排序
查看>>
用actor model实现intel tbb这样的用法
查看>>
拖动的实现(不能用drag相关的属性)
查看>>
《流畅的python》这本确实老辣
查看>>
ExtJs之 Ext.JSON
查看>>
C#高级编程(第9版)pdf
查看>>
4.5 制作一寸相片
查看>>
Netty源码分析--Reactor模型(二)
查看>>
斐波那契数列
查看>>
关于回溯与招聘市场
查看>>
关于回溯与夏令营
查看>>
前端经典面试题:如何理解 HTML 语义化?
查看>>
你知道 GNU Binutils 吗?【binutils】
查看>>
Linux基础命令---more
查看>>
SRM 595 DIV 1 - 1
查看>>
PBR 应用于虚幻引擎4贴图和材质创建的启示
查看>>
[洛谷 1613] 跑路
查看>>
来自java文档 URI类
查看>>