博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
python字典操作和内置方法
阅读量:4569 次
发布时间:2019-06-08

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

一 字典基本介绍

python中只有字典是映射结构,通过key取值,并且key是不可变数据类型,而value可以是任意数据类型。

字典通过一个花括号,里面存放key:value的数据结构来定义。理论上讲,字典是无限大的。

二 字典常用操作

1 按key取值

dic = {
'name':'szz','age':18,'sex':'male')name = dic['name']print(name)# 输出结果为 'szz'

2 计算字典的长度

# len方法计算字典的长度dic = {
'name':'szz','age':18,'sex':'male')len_of_dic = len(dic)print(len_of_dic)# 输出结果为 3

3 字典删除操作

d={
'x':1,'y':2,'z':3}del d['y']print(d)# 输出结果为 {'x':1,'z':3}res=d.pop('y')print(d)print(res)pop有返回值res=d.popitem()print(res)# 输出结果为 ('z':3)

4 key,value的操作

# 得到字典中所有的键 d = {
'name':'szz','age':18,'sex':'male)print(d.keys())print(list(d.keys()))# 输出结果为 ('name','age','sex)# ['name','age','sex']
# 得到字典中所有的值,用for循环取值d={
'x':1,'y':2,'z':3}v = d.values()for i in v: print(i)# 输出结果为 1 2 3
d = {
'name':'szz','age':18,'sex':'male','x':1,'y':2,'z':3)for k,v in d.items(): print(k,v)# 输出结果为 'name' 'szz' 'age' 18 'sex' male 'x' 1 'y' 2 'z' 3
# 如果直接对字典进行for循环,则默认循环字典的key

5 get方法

d={
'name':'szz','age':18,'sex':'male','hobbies':[1,2,3]}v=d.get('name')print(v)# 当不确定字典中是否存在某一个键值时,使用get方法更安全

6 update方法

# update 有新键值对的话会添加进字典,有相同的key则会覆盖旧值d={
'name':'szz','age':18,'sex':'male','hobbies':['read','movie']}d1={
'age':22,'addr':'shanghai'}d.update(d1)# 直接在d的基础上改变

7 fromkeys

# 给定一个一直列表,用该列表中的值当做key初始化一个字典keys=['name','age','sex']d={}for k in keys:    d[k]=Noned={}.fromkeys(keys,None)print(d)# 输出结果为 {'name':None,'age':None,'sex':None}

8 setdefault

# key存在则修改,不存在则添加d={
"x":1,"y":2}res=d.setdefault('x',11111) # 在key存在的情况下不修改值,会返回原值print(d)print(res)# 输出结果 {'x':1,'y':2}# 输出结果 1res=d.setdefault('z',11111) # 在key不存在的情况下会新增值,会返回新增# 的值print(d)print(res)# 输出结果 {'x':1,'y':2','z':11111)# 输出结果 11111

9 setdefault使用场景

s='hello world world say hello  hello'd={
'hello':4,'word':2,'say':1}d={}words=s.split()# print(words) for word in words: d[word]=words.count(word) d.setdefault(word,words.count(word))print(d)# 输出结果为 {'hello':4,'word':2,'say':1}

 

转载于:https://www.cnblogs.com/zuanzuan/p/9671150.html

你可能感兴趣的文章
C语言—— for 循环
查看>>
IBM lotus9.0测试版即将公测
查看>>
xml常用方法
查看>>
Cube Stacking(并差集深度+结点个数)
查看>>
AndroidStudio3更改包名失败
查看>>
jq 删除数组中的元素
查看>>
js URL中文传参乱码
查看>>
Leetcode 367. Valid Perfect Square
查看>>
UVALive 3635 Pie(二分法)
查看>>
win系统查看自己电脑IP
查看>>
Backup&recovery备份和还原 mysql
查看>>
一道面试题及扩展
查看>>
Unity 3D 我来了
查看>>
setup elk with docker-compose
查看>>
C++ GUI Qt4学习笔记03
查看>>
Java基础回顾 —反射机制
查看>>
c# 前台js 调用后台代码
查看>>
2017-02-20 可编辑div中如何在光标位置添加内容
查看>>
$.ajax()方法详解
查看>>
jquery操作select(增加,删除,清空)
查看>>