Python--小甲鱼学习笔记--第25课:初学dict()

0.当你听到小伙伴们在谈论映射哈希散列或者关系数组的时候,事实上他们就是在讨论什么呢?

事实上讨论的是字典.

 

1.尝试一下将数据('F':70, 'C':67,'h':104, 'i':105, 's':115)创建为一个字典并访问键'C'对应的值?

>>>dict1 = {'F':70, 'C':67, 'h':104, 'i':105, 's':115}

>>>dict1['C']

67

或者

>>>dict2 = dict((('F',70), ('C',67), ('h',104), ('i',105), ('s',115)))

>>>dict2['C']

67

 

2.用方括号("[]")括起来的数据我们叫列表,那么使用大括号("{}")括起来的数据我们就叫字典,对吗?

不对。

>>>NotADict = {1, 2, 3, 4, 5}

>>>type(NotADict)

虽然我们用大括号("{}")把一些数据括起来了,但由于没有反应出这些数据有映射的关系,所以创建出来的不是字典,而是Set(后边会讲)。

 

3.你如何理解有些东西字典做得到,但"万能的"列表却难以实现?

举个例子:

>>>brand = ['李宁', '耐克', '阿迪达斯', '鱼C工作室']

>>>slogan = ['一切皆有可能', 'Justdo it', 'Impossible is nothing', '让编程改变世界']

>>>print('鱼C工作室的口号是:', slogan[brand.index('鱼C工作室')])

鱼C工作室的口号是: 让编程改变世界



4.下面这些代码,他们都在执行一样的操作吗?你看得出差别吗?

>>> a = dict(one=1, two=2,three=3)

>>> b = {'one': 1, 'two': 2,'three': 3}

>>> c = dict(zip(['one', 'two','three'], [1, 2, 3]))

>>> d = dict([('two', 2), ('one',1), ('three', 3)])

>>> e = dict({'three': 3, 'one':1, 'two': 2})

 没有区别

>>> a = dict(one=1, two=2, three=3)

>>> a

{'two': 2, 'one': 1, 'three': 3}

>>> b = {'one': 1, 'two': 2, 'three': 3}

>>> b

{'two': 2, 'one': 1, 'three': 3}

>>> c = dict(zip(['one', 'two', 'three'], [1, 2, 3]))

>>> c

{'two': 2, 'one': 1, 'three': 3}

>>> d = dict([('two', 2), ('one', 1), ('three', 3)])

>>> d

{'two': 2, 'one': 1, 'three': 3}

>>> e = dict({'three': 3, 'one': 1, 'two': 2})

>>> e

{'two': 2, 'one': 1, 'three': 3}


5.如图,你可以推测出打了马赛克部分的代码吗?

Python--小甲鱼学习笔记--第25课:初学dict()_第1张图片

data = "1000,小甲鱼,男"
MyDict = {}
# 还记得字符串的分割方法吧,别学过就忘啦^_^
(MyDict['id'], MyDict['name'], MyDict['sex']) = data.split(',') 
print("ID:   " + MyDict['id'])
print("Name: " + MyDict['name'])
print("Sex   " + MyDict['sex'])

动动手:

0.尝试利用字典的特性编写一个通讯录程序吧,功能如图:

Python--小甲鱼学习笔记--第25课:初学dict()_第2张图片

print('''|--- 欢迎进入通讯录程序 ---|
|---  1:查询联系人资料  ---|
|---  2:插入新的联系人  ---|
|---  3:删除已有联系人  ---|
|---  4:退出通讯录程序  ---|''')
print('\n')
address_book = dict()
nums = int(input('请输入相关的指令代码:'))
while nums !=4:
    name = input('请输入联系人姓名:')
    if nums == 1:
        if name in address_book:
            print(name +':'+ address_book[name])
        else:
            print('您输入的姓名不再通讯录中!')            
        print('\n')
    elif nums == 2:
        if name in address_book:
            print('您输入的姓名在通讯录中已存在-->>',name + ':'+address_book[name])
            temp = input('是否修改用户资料(YES/NO):')
            if temp == 'YES':
                address_book[name] = input('请输入用户联系电话:')
        else:
            temp_num = input('请输入用户联系电话:')
            address_book[name] = temp_num
        print('\n')
    elif nums == 3:
        address_book.pop(name)
        print('\n')
    else:
        print('输入有误!')
    nums = int(input('请输入相关的指令代码:'))       
print('|---  感谢使用通讯录程序  ---|')


你可能感兴趣的:(python学习)