python语言中的数据类型之字典

数据类型

字典类型dict
  • 用途:记录多个值,列表是索引对应值,而字典是key对应值,其中key对value有描述性
  • 定义方式:在{ }用逗号分隔开多个元素,每个元素都是key:value形式,其中key是不可变类型,通常是字符串类型,而value是任意类型。
  • 类型转换:
    d=dict(x=1,y=2,z=3)
    print(d)
    print(type(d))
    #第一种类型转换
    items=[(‘name‘,‘egon‘),(‘age‘,18),(‘gender‘,‘male‘)]
    d={}
    for item in items:
        d[item[0]]=item[1]
    print(d)
    #列表转换成字典  第二种
    items=[(‘name‘,‘egon‘),(‘age‘,18),(‘gender‘,‘male‘)]
    d=dict(items)
    print(d)
    #第三种方法
    ?
    ?
    # 了解
    keys=[‘name‘,‘age‘,‘gender‘,‘height‘,‘weight‘]
    # d={}
    # for key in keys:
    #     d[key]=None
    ?
    d={}.fromkeys(keys,None)
    print(d,type(d))

常用操作+内置方法

1.按key存取值:可存可取

dic={‘name‘:‘egon‘,‘age‘:18}
print(dic[‘name‘])
#这是按key 取 value值  如果key错误程序会报错
dic[‘name‘]=‘EGON‘
print(dic)
#按key存值  根据key存入‘EGON‘ (value)
dic[‘gender‘]=‘male‘
print(dic)
#如果存入的key在字典中没有就会添加新的key:value
?
###在列表中如果索引没有添加的话会报错
l=[‘a‘,‘b‘,‘c‘]
l[0]=‘A‘
print(l)
l[4]=‘AAA‘
print(l)

2.长度  len

dic={‘name‘:‘egon‘,‘age‘:18}
print(dic)
print(len(dic))

3.成员运算   in 和  not  in

字典的成员运算是以字典的key为准的,如果找不到key则会显示False

dic={‘name‘:‘egon‘,‘age‘:18}
print(‘name‘in dic)    #  True
print(‘egon‘in dic)    #  False

4.删除    del/pop/

dic={‘name‘:‘egon‘,‘age‘:18}
del dic[‘name‘]
print(dic)
#del  的运用
?
dic={‘name‘:‘egon‘,‘age‘:18}
res=dic.pop(‘name‘)
print(dic)
print(res)
#pop  pop的返回值是与之对应的value值
?
ic={‘name‘:‘egon‘,‘age‘:18}
res=dic.popitem()
print(res)
print(type(res))
print(dic)
(‘age‘, 18)
<class ‘tuple‘>
{‘name‘: ‘egon‘}
#popitem()  删除字典中的元组

5.键keys( ),值values(),键值对items()

在python2中对应的键keys(),values(),items()

#在python2中keys(),values(),items()会将全部对应值输出
>>> dic={‘name‘:‘egon‘,‘age‘:18}
>>> dic.keys()
[‘age‘, ‘name‘]
>>> dic.values()
[18, ‘egon‘]
>>> dic.items()
[(‘age‘, 18), (‘name‘, ‘egon‘)]
>>>
?
#在python3中
>>> dic={‘name‘:‘egon‘,‘age‘:18}
>>> dic.keys()
dict_keys([‘name‘, ‘age‘])
>>> dic.values()
dict_values([‘egon‘, 18])
>>> dic.items()
dict_items([(‘name‘, ‘egon‘), (‘age‘, 18)])

6.循环

dic={‘name‘:‘egon‘,‘age‘:18}
for k in dic:
    print(k)
#在字典中不加任何操作循环是循环key
dic={‘name‘:‘egon‘,‘age‘:18}
for k in dic.keys():    #循环keys
    print(k)
for v in dic.values():  #循环values
    print(v)
for k,v in dic.items(): #k,v=(‘name‘, ‘egon‘)
    print(k,v)          #循环key:value

需要掌握的操作

7.update   更新

dic={‘name‘:‘egon‘,‘age‘:18}
dic.update({‘height‘:175,‘weight‘:180})
print(dic)
{‘name‘: ‘egon‘, ‘age‘: 18, ‘height‘: 175, ‘weight‘: 180}
#语法    字典1.update(字典2)
#会将两个字典中相同的key:value保留,不同的添加到字典1
dic={‘name‘:‘egon‘,‘age‘:18}

8.setdefault

Python 字典 setdefault() 函数和get() 方法类似, 如果键不存在于字典中,将会添加键并将值设为默认值

#当key存在时,不改原值,返回原值
dic={‘name‘:‘egon‘,‘age‘:18}
res=dic.setdefault(‘name‘,‘EGON‘)
print(dic)
print(res)
{‘name‘: ‘egon‘, ‘age‘: 18}
egon
?
#当key不存在时,增加新值
dic={‘name‘:‘egon‘,‘age‘:18}
res=dic.setdefault(‘gender‘,‘male‘)
print(dic)
print(res)
{‘name‘: ‘egon‘, ‘age‘: 18, ‘gender‘: ‘male‘}
male

###字典无序  可变

原文地址:https://www.cnblogs.com/5j421/p/10006702.html

时间: 2024-10-21 08:58:25

python语言中的数据类型之字典的相关文章

python语言中的数据类型之列表

数据类型及内置方法 列表: list    可变类型,有序 用途:用来记录多个值(同属性) 定义方式:在[  ]内用逗号分隔开多个任意类型的值 l=['a','b','c'] #l=list(['a','b','c']) 类型转换: 列表可接收的转换类型是可以是for循环的类型 l=list('hello') l=list({'x':1,'y':2}) print(l) 常用的操作+内置方法 1.按索引取值(正向取值+反向取值):既可取也可存   print(l[0]) print(l[-1])

python语言中的数据类型之元组

数据类型 元组       tuple 元组:不可变类型 用途:元组就是一个不可变的列表,当需要存不改动的值时可用元组 定义方式:在()内用逗号分隔开多个任意类型的元素 t=(1,2.2,'aa',('b','c'),['a','b','c']) #t=tuple(...) 定义方式 print(type(t)) #但是需要注意的是: #当元组内仅有一个值时该怎么做呢? t=('a',) #注意需在该值后添加 , 跟字符串区别 print(type(t)) print(t) 类型转换: t1=t

Python语言中的关键字(自己做的读书笔记)

电脑配置:联想笔记本电脑 windows8系统 Python版本:2.7.8 本文章撰写时间:2015.1.1 作者:陈东陈 阅读说明: 1.本文都是先解释,后放图片: 2.文中斜体部分要么为需要输入的内容,要么为电脑本来的一些功能名称 python语言中的关键词: and del from not while as elif global or with assert if else pass yield break except import  print class exec in rai

Android For JNI(二)——C语言中的数据类型,输出,输入函数以及操作内存地址,内存修改器

Android For JNI(二)--C语言中的数据类型,输出,输入函数以及操作内存地址,内存修改器 当我们把Hello World写完之后,我们就可以迈入C的大门了,今天就来讲讲基本的一些数据类型,函数之内的 我们先来看一张传播久远的图片' 一.各种数据类型介绍 整型 整形包括短整型.整形和长整形. 短整形 short a=1; 整形 一般占4个字节(32位),最高位代表符号,0表示正数,1表示负数,取值范围是-2147483648~2147483647,在内存中的存储顺序是地位在前.高位在

Python语言中循环引用(import)失败的解决方案

最近在开发智能家居项目hestia-rpi项目中,由于代码结构层级划分不合理,导致了循环引用(import)module失败的问题,错误如下: 1 2 3 4 5 6 7 8 9 10 Traceback (most recent call last):   File "./main.py", line 8, in &amp;lt;module&amp;gt;     from hestiarpi.library.server import server   File

python基础知识 05 python语言中的大整数

第五课 python语言中的大整数 java中的int 最大可以处理 2^31 -1(2147483647) 最小呢-2^31 (-2147483647)但是在Java中可以使用BigInteger 来处理无线大的数 print(2 ** 60) 结果为 1152921504606846976 print(2 ** 600) 41495155688809929585124078636911611510124462322424368999956573296906528114129081463997

06 python语言中的进制转换

python语言中的进制转换 1.python语言中支持哪些进制,以及这些进制的表示法2.如何在不同的进制之间进行转换 //py 语言支持4种进制 十进制 0-9 // 123 默认就是 十进制 十六进制 0-9 A-F //0x 0xFF12E 0x 开头的就是 十六进制二进制 //0b 0b11010101 //这里用0B 也是可以的但是业内都是用小写的0b表示 表示二进制 八进制 //0o 0o4324 // 0o 开头的就是 八进制 除了十进制外,其他进制数字前面都是0 转换 主要是十进

python语言中的编码问题

在编程的过程当中,常常会遇到莫名其妙的乱码问题.很多人选择出了问题直接在网上找答案,把别人的例子照搬过来,这是快速解决问题的一个好办法.然而,作为一个严谨求实的开发者,如果不从源头上彻底理解乱码产生的机制,并由此寻求解决问题的根本路径,那么永远不能从码农的阴影中摆脱出来.下面就来一起了解一下计算机编码问题的来龙去脉. ASCII 众所周知,计算机中的所有数据,不论是文字.图片.视频.还是音频文件,本质上最终都是按照类似 01010101 的二进制形式存储的.然而,计算机中的字符,并不能完全以这种

C语言中的数据类型

C语言中基本的数据类型有: 整型: 分为有符号整型(signed)和无符号整型(unsigned ), 它们各自又可以分为 长整型(long), 短整型(short), 整型(int)和字符型(char), 所以结合起来一共有8种基本的整型结构: long/short/int/char/unsigned long/unsigned short/unsigned int/unsigned char; 浮点型:分为单精度 float , 双精度型:double; (补充:整型表示的数的范围: 说到了