码迷,mamicode.com
首页 > 编程语言 > 详细

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

时间:2018-11-23 12:43:47      阅读:237      评论:0      收藏:0      [点我收藏+]

标签:upd   形式   none   not   pytho   删除   data   索引   link   

数据类型

字典类型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(namein dic)    #  True
print(egonin 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

 

###字典无序  可变

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

标签:upd   形式   none   not   pytho   删除   data   索引   link   

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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!