|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
本帖最后由 mumudontcry 于 2014-9-9 13:31 编辑
木木回来了,嘘……木木在上班过程中,用不到半兆的网速发帖
其实这讲的内容我很早(大概在断更之前)就已经看过了,只是那个时候说是找工作,然后就不想发帖子
好,下面是正题,有什么私聊我(嘘……)
测试题:
1
注意!
('F': 70, 'C': 67, 'h': 104, 'i': 105, 's': 115)不是元组,别问我为什么,你敲了代码就知道
另外,
l=[('F', 70), ('i',105), ('s',115), ('h',104), ('C',67)]
dict(l)
也是可以的,输出是:
{'F': 70, 'i': 105, 'h': 104, 'C': 67, 's': 115}
就是说,你可以把元组,列表转化成字典
至于l=[('F', 70,"木木"), ('i',105), ('s',115), ('h',104), ('C',67)]……显然不行,因为列表的第一个元素(是个元组)并不是只包含两个元素,python给出的错误提示是:
ValueError: dictionary update sequence element #0 has length 3; 2 is required
意思就是说,字典更新序列元素长度是3,但是只能是2
嗯……还有这里的值前面都有一个空格(小甲鱼你傲娇了)
2
发现了小甲鱼的秘密:把“字典”写成了“宇典”,老实交代,是不是用五笔输入?!
好吧,进入正题:
如果{}里不是键值对的形式,那么这就是集合,集合其实也可以看作是字典,只是只有键,没有值的字典,不要在意这些细节
这个答案没有唯一,你可以把集合看作是字典
3
这里就要说到列表和字典的一个很大的区别了,列表是利用位置索引的,而字典是利用键值对,字典和集合都是无序的,有的时候,我们用列表的位置来索引感觉上很不方便,不直观,这个时候用字典就显得方便些
4
字典的各种创建方式,木木表示只会b和d,另外,d中的[]可以改成()
5
嗯……木木忘了>_<,不过一说,我想到了一个比较重要的东西,把代码改下:
data = "1000 小甲鱼 男"
MyDict = {}
(MyDict['id'], MyDict['name'], MyDict['sex']) = data.split()
结果依然成立,为什么?因为split的默认参数是空格,data里是用空格分割的
动动手:
先去吃饭,回来再说
这段程序其实没有什么难的,从头读下来很明了(嗯……注意if-else的层次,反正木木一开始就看走眼了)
这里说几个需要注意的地方:
1、像这样的程序,可以实现在草稿纸上写下每一个功能里面具体要有什么操作,比如:
在插入之前判断是否已经存在有联系人了,如果有的话,要怎么处理(这里是提示是否修改)
把每一个功能的具体情况都分析好了,再用if语句一个一个写肯定就没有问题了
2、第3个功能里面有段代码:
del(contacts[name])
这里的del是在列表里删除某个元素用的,当然字典里也可以适用,至于后面的注释:也可以使用dict.pop()
具体的写法应该是:dict.pop(name),用这个其实比del好,这个在很早就有讲过,dict.pop()相当于把准备删除的元素给存起来了,用这个的话,你可以打印出来或者再保存起来(如果你对它念念不忘的话)
3、第2个功能里,木木觉得要输入“YES”或者“NO”比较麻烦,真实情况下,如果要考虑用户体验的话,最好多加几种,比如y/n,Y/N,yes/no……
最后,中秋快乐(好像是昨天吧?whatever~~)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
点击
当没节操甲鱼遇上傲娇笨笨的木木
查看我的淘帖,喜欢就点“订阅”吧
|
|