Python学习-20171222

1、Python数据字典python

  • 字典

        字典是python中惟一的映射类型(哈希表)对象

        字典的对象是可变的,但字典的键必须使用不可变对象,一个字典能够使用不一样的类型的键值。排序

        使用大括号{}建立字典。ip

        字典中每一个键值(key=>value)对用冒号:分割,每一个对之间用(,)分割。get

    经常使用方法:input

        #定义字典string

        dict = {'name':'wxy','age':'27',('1'):000}it

        #获取值lambda

        dict.get('name')date

        #修改值

        dict['name']='bjy'

        #判断key是否在字典中

        'name' in dict

        #把字段转换成列表

        dict.items()

        #清除字典

        dict.clear()

        #删除值

        del dict['name']

        dict.pop('name')

        #列表转成字典

        list1=[1,2,'rt']

        list2=[3,4,'2t']

        dic=dict(zip(list1,list2))

 

 

2、字典练习

    #把输入的值生成一个字典,并循环打印

    name=raw_input("please input name:")

    age=raw_input("please input age:")

    gender=raw_input("please input gender:")

 

    info={}

    info['name']=name

    info['age']=age

    info['gender']=gender

 

    for i,x in info.items():

        print ('%s: %s'% (i,x))

    print (type(info.items()))

 

3、练习题

练习:

1. 现有一个字典dict1 保存的是小写字母a-z对应的ASCII码

dict1 = {'a': 97, 'c': 99, 'b': 98, 'e': 101, 'd': 100, 'g': 103, 'f': 102, 'i': 105, 'h': 104, 'k': 107, 'j': 106, 'm': 109, 'l': 108, 'o': 96, 'n': 110, 'q': 113, 'p': 112, 's': 115, 'r': 114, 'u': 117, 't': 116, 'w': 119, 'v': 118, 'y': 121, 'x': 120, 'z': 122}

1) 将该字典按照ASCII码的值排序

print sorted(dict1.iteritems(), key=lambda d:d[1], reverse=False)

2) 有一个字母的ASCII错了,修改成正确的值,并从新排序

dict1['o'] = 111

print sorted(dict1.iteritems(), key=lambda d:d[1], reverse=False)

2. 用最简洁的代码,本身生成一个大写字母 A-Z 及其对应的ASCII码值的字典dict2(使用dict,zip,range方法)

dict2 = dict(zip(string.uppercase,range(65,92)))

print dict2

3. 将dict2与第一题排序后的dict1合并成一个dict3

dict3 = dict(dict1, **dict2)

# dict3 = dict(dict1, **dict2)等同于下面的两行代码

# dict3 = dict1.copy()

# dict3.update(dict2)

print dict3

相关文章
相关标签/搜索