笨办法学python第39节

这节主要讲解的是字典,首先字典和列表的两个区别是:

1. 列表中可以通过数字找到列表中的元素,是数字作为索引的;字典中可以通过任何东西找到想要的元素,即字典可以将一个物件和另外一个东西关联。

2. 列表是有顺序的;字典是无序的。(上一节有提到)

本节的代码如下:

 class Song(object):

     def _init_(self, lyrics):
self.lyrics = lyrics def sing_me_a_song(self):
for line in self.lyrics:
print line happy_bday = Song(["Happy birthday to you",
"I don't want to get sued",
"So I'll stop right there"]) bulls_on_parade = Song(["They rally around the family",
"With pockets full of shells"]) happy_bday.sing_me_a_song() bulls_on_parade.sing_me_a_song()

这一遍出现错误,错误信息如下:

我并没有错误在哪里,然后问八块腹肌,他给我说这个错误很小,但是很难发现,也是我对构造函数不熟悉的结果,解决办法是:def _init_(self, lyrics)这个函数是一个构造函数,init两边是应该分别有两个下划线“_”,但是我只分别打了一个,所以出现错误。

另外我还有一个问题是,这个def __init__(self, lyrics)函数存在的意义,这个函数是一个构造函数,它里面有两个参数self和lyrics,其中这个self是固定的,因为这段函数中的两个函数def都是在class类里面,所以相当于是这个类内部的两个函数相互之间的调用,所以后面用到了self.lyrics。

问题解决后我试着用for-loop循环,用到items()函数,我写的代码如下:

 song = {
'happy_bday':'Happy birthday to you, I don\'t want to get sued, So I\'ll stop right there',
'bulls_on_parade':'They rally around the family, With pockets full of shells'
} for key, line in song.items():
print line

运行结果是:

可以看到是无序的。

python学习05——字典的更多相关文章

  1. Python学习笔记(字典)

    今天学习一个python中的基本类型--字典(dictionary) 字典这种数据结构有点像我们平常用的通讯录,有一个名字和这个名字对应的信息.在字典中,名字叫做“键”,对应的内容信息叫做“值”.字典 ...

  2. Python学习--05函数

    Python函数 函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段. 函数能提高应用的模块性,和代码的重复利用率.我们已经知道Python提供了许多内建函数,比如print().但我们 ...

  3. python学习09——字典(3)

    今天写了一道python字典题目,用了上次字典(2)中的方法,代码如下: json = {', 'IP':'10.0.0.1'} def find_value(themap, word): if wo ...

  4. Python学习07——字典(2)

    笨办法学Python第40节,上次用的第三版的书,这次是第四版的书. 这一节的代码如下: cities = {'CA':'San Francisco', 'MI':'Detroit', 'FL':'J ...

  5. Python学习笔记-字典

    字典是python中唯一内建的映射类型. 创建字典phonebook = {'Alice':'2341','Beth':'9102'} 可以使用dict通过其他映射或者键值对的序列建立字典.关键值参数 ...

  6. Python学习之字典详解

    在元组和列表中,都是通过编号进行元素的访问,但有的时候我们按名字进行数据甚至数据结构的访问,在c++中有map的概念,也就是映射,在python中也提供了内置的映射类型--字典.映射其实就是一组key ...

  7. python学习:字典排序

    按字典值排序   按照字典value排序,类似sort -k 命令   import operator x= {1:2,3:4,4:3,2:1,0:0} sorted_x = sorted(x.ite ...

  8. python学习之字典(Dictionary)练习

    Python字典是另一种可变容器模型,且可存储任意类型对象,如字符串.数字.元组等其他容器模型 字典中分为键值对 , key 类型需要时被哈希. value 类型可以是 字符串.数字.元组等其他容器模 ...

  9. python学习 05 函数switch功能

    1.python没有switch功能,利用字典实现 如果用if else,可行但是效率不高

随机推荐

  1. 超炫数字特效动画AE模板

    下载方式: 网盘地址+迅雷地址+迅雷地址+备份地址 <ignore_js_op> 本AE模板是由Videohive机构出品的超炫数字特效动画AE模板,Videohive The Numbe ...

  2. 合并excel中多个sheet

    Sub 合并当前工作簿下的所有工作表() Application.ScreenUpdating = False For j = 1 To Sheets.Count If Sheets(j).Name ...

  3. JS对象深刻理解 - 1

    JavaScript创建对象   JavaScript 有Date.Array.String等这样的内置对象,功能强大使用简单,人见人爱,但在处理一些复杂的逻辑的时候,内置对象就很无力了,往往需要开发 ...

  4. 剑指offer三: 斐波拉契数列

    斐波拉契数列是指这样一个数列: F(1)=1; F(2)=1; F(n)=F(n-1)+F(n); public class Solution { public int Fibonacci(int n ...

  5. linux应用程序开发-进程通信(IPC)

    IPC why: 1.数据传输 2.资源共享 目的: 3.通知事件 4.进程控制 发展: 1.UNIX进程间通信 2.基于SYStem V 3.POSIX 方式分类: 1.pipe(管道) FIFO( ...

  6. Deep Learning 19_深度学习UFLDL教程:Convolutional Neural Network_Exercise(斯坦福大学深度学习教程)

    理论知识:Optimization: Stochastic Gradient Descent和Convolutional Neural Network CNN卷积神经网络推导和实现.Deep lear ...

  7. 转:ProgressMonitorDialog

    http://stackoverflow.com/questions/12986912/using-progressmonitordialog-in-eclipse-4-properly public ...

  8. 底部漂浮DIV

    .buttonDiv{background-color: #4e4f50; border: 2px solid #83ABD3; border-radius: 4px; -khtml-opacity: ...

  9. iOS使用Security.framework进行RSA 加密解密签名和验证签名

    iOS 上 Security.framework为我们提供了安全方面相关的api: Security框架提供的RSA在iOS上使用的一些小结 支持的RSA keySize 大小有:512,768,10 ...

  10. express+gulp构建项目(二)启动项目和主文件

    这一次整理的内容是项目主文件和如何启动项目. 启动项目 通过nodejs官网的例子https://nodejs.org/docs/latest-v4.x/doc/api/synopsis.html我们 ...