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

python基础一数据类型之字典

时间:2017-12-23 14:24:40      阅读:120      评论:0      收藏:0      [点我收藏+]

标签:update   存在   pop   name   jin   abc   不可   city   python基础   

摘要:

  python基础一数据类型之一字典,这篇主要讲字典。

 

1,定义字典

 

2,字典的基础知识

 

3,字典的方法

 

1,定义字典

1,定义1个空字典

dict1 = {}  

2,定义字典

dict1 = dict(x=10,y=10)

3,将列表转换为字典

 

dict1 = dict([(‘a‘,10),(‘b‘,10)])

 

2,字典的基础知识


1,字典的key,value说明

dict1 = {‘a‘:1,1:123} key是不可变的,所以key可以用元祖,但不然能用列表表示,另外字典是无序的且key是唯一的!

dict1 = {(‘a‘,‘b‘,‘c‘):1,‘name‘:‘tom‘}

 

这个是用列表表示key,这个是不可取的,会返回报错。

dict1 = {[‘a‘,‘b‘,‘c‘]:1,‘name‘:‘tom‘}

 

 

获取字典中的值,通过key获取:
(dict1[(‘a‘, ‘b‘, ‘c‘)]
运行结果:1

更改字典中的值:
dict1[name] = ‘tim‘

 

2,将2个序列号化的数据类型转换为字典使用zip (序列化:字符串、列表、元祖、集合)

tuple1 = (‘name‘,‘age‘)

tuple2 = (‘tom‘,‘30‘)

dict1 = zip(tuple1,tuple2)

 dict1 = dict(dict1)

 

3,字典的方法

1,clear() 清空字典
dict1 = {‘name‘:‘tom‘,‘age‘:‘22‘}

dict1.clear()
            
            运行结果:{}

 

2,copy() 复制字典
dict1 = {‘name‘:‘tom‘,‘age:‘22‘}

dict2 = dict1.copy()

print dic
            
              运行结果:{‘age‘: 22, ‘name‘: ‘tom‘}

  

 

3,fromkeys  主要用于创建新的字典,value一样。

dict1 = dict.fromkeys(‘abc‘,100)



print dict1

            运行结果:{‘a‘: 100, ‘b‘: 100, ‘c‘: 100}

  

4,get 用户判断字典中是否拥有某个key,,如果有返回对于的value,则返回None。当然,如果没有对应的value,也可以指定返回的字符。
dict1 = {‘name‘:‘tom‘,‘age‘:‘22‘}
dict1.get(‘name‘)

        运行结果:tom
dict1 = {‘name‘:‘tom‘,‘age‘,‘22‘}
dict1.get(‘name1‘,‘no‘)
        
        运行结果:no

  

5,has_key 判断字典中是否含有某个key,如果存在返回True,否则返回False.

dict1 = {‘name‘:‘tom‘,‘age‘:‘22‘}

dict1.has_key(‘name1‘)

        运行结果:False

 

6,items 将字典作用的内容以列表的形式打印,一般用于将字典转换成列表。

dict1 = {‘name‘:‘tom‘,‘age‘:‘22‘}

print dict1.items()

        运行结果:[(‘age‘, 22), (‘name‘, ‘tom‘)]

 

7,iteritems  获取所有的item,只是返回的是一个生成器。和itmes的区别在于item会将字典中内容一次性输出出来,而生成器是你用到哪个我就生成哪个。

dict1 = {‘name‘:‘tom‘,‘age‘:‘22‘}

for k,v in dict1.iteritmes():
  print k,v

        运行结果:age 22
             name tom

  

8,iterkeys 获取所有的keys,是返回的是一个生成器。
dict1 = {‘name‘:‘tom‘,‘age‘:‘22‘} 
  for k in dict1.iterkeys():   
      print k         
        
        运行结果:name
              age

  

 

9,itervalues 获取所有的values,是返回的是一个生成器。

dict1 = {‘name‘:‘tom‘,‘age‘:‘22‘}

for v in dict1.itervalues():
  print v

        运行结果:tom
                      22

  

10,keys 获取所有的keys.

dict1 = {‘name‘:‘tom‘,‘age‘:‘22‘}

print dict1.keys()

        运行结果:[‘age‘, ‘name‘]

  

11,pop 删除指定的key

dict1 = {‘name‘:‘tom‘,‘age‘:‘22‘}

dict1.pop(‘age‘)

print dict1

        运行结果:{‘name‘: ‘tom‘}
                   

  

12,popitem 随机删除key

dict1 = {‘name‘:‘tom‘,‘age‘:‘22‘}

dict1.popitem()

print dict1

        运行结果:{‘name‘: ‘tom‘}
                   

  

13,setdefault 如果字典中没有这个key,就设置这个Key和value,如果有,则使用默认的且返回对应的values。

dict1 = {‘name‘:‘tom‘,‘age‘:‘22‘}

dict1.setdefault(‘city‘,‘beijing‘)

print dict1

        运行结果:{‘age‘: ‘22‘, ‘city‘: ‘beijing‘, ‘name‘: ‘tom‘}

  

14,update 更新字典,一般用于将2个字典合并为一个字典
 
dict1 = {‘name‘:‘tom‘,‘age‘:‘22‘}
 
dict2 = {‘city‘:‘beijing‘}
 
dict1.update(dict2)
 
print dict1

			运行结果 {‘age‘: ‘22‘, ‘city‘: ‘beijing‘, ‘name‘: ‘tom‘}

将2个字典合并为1个字典:dict3 = dict(dict1,**dict2)

  

 

 

15,values,查看所有的values

dict1 = {‘name‘:‘tom‘,‘age‘:‘22‘}

dict1.values()


        运行结果:[‘22‘, ‘tom‘]

  

 

python基础一数据类型之字典

标签:update   存在   pop   name   jin   abc   不可   city   python基础   

原文地址:http://www.cnblogs.com/lin1/p/8087529.html

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