python的学习 4月10日

元组类型比较也是用这种算法.最后我们以这种算法的关键点作为本节的

结束:

1. 对两个列表的元素进行比较.

2. 如果比较的元素是同类型的,则比较其值,返回结果.

3. 如果两个元素不是同一种类型,则检查它们是否是数字.

a. 如果是数字,执行必要的数字强制类型转换,然后比较.

b. 如果有一方的元素是数字,则另一方的元素"大"(数字是"最小的")

c. 否则,通过类型名字的字母顺序进行比较.

4. 如果有一个列表首先到达末尾,则另一个长一点的列表"大".

5. 如果我们用尽了两个列表的元素而且所有元素都是相等的,那么结果就是个平局,就

是说返回一个 0.


len()    >>> len(num_list)=4




排序

sorted() and reversed()

>>> s = ['They', 'stamp', 'them', 'when', "they're", 'small']

>>> for t in reversed(s):

...  print t,

...

small they're when them stamp They

>>> sorted(s)

['They', 'small', 'stamp', 'them', "they're", 'when']

初学者使用字符串, 应该注意是如何把单引号和双引号的使用矛盾和谐掉.同时还要注意字

符串排序使用的是字典序,而不是字母序(字母'T'的 ASCII 码值要比字母'a'的还要靠前)


enumerate() and zip()

>>> albums = ['tales', 'robot', 'pyramid']

>>> for i, album in enumerate(albums):

... print i, album

...

0 tales

1 robot

2 pyramid

>>>

>>> fn = ['ian', 'stuart', 'david']

>>> ln = ['bairnson', 'elliott', 'paton']

>>>

>>> for i, j in zip(fn, ln):

... print ('%s %s' % (i,j)).title()

...

Ian Bairnson Stuart Elliott David Paton

sum()

>>> a = [6, 4, 5]

>>> reduce(operator.add, a)

15

>>> sum(a)

15

>>> sum(a, 5)

20

>>> a = [6., 4., 5.]

>>> sum(a)

15.0



列表和元组间的转换函数

>>> aList = ['tao', 93, 99, 'time']

>>> aTuple = tuple(aList)

>>> aList, aTuple

(['tao', 93, 99, 'time'], ('tao', 93, 99, 'time'))

>>> aList == aTuple

False

>>> anotherList = list(aTuple)

>>> aList == anotherList

True

>>> aList is anotherList

False

>>> [id(x) for x in aList, aTuple, anotherList]

[10903800, 11794448, 11721544]

正如我们在本章的开头所讨论的,无论 list()还是 tuple()都不可能做完全的转换(见

6.1.2 节).也就是说,你传给 tuple()的一个列表对象不可能变成一个元组,而你传给 list()的

对象也不可能真正的变成一个列表.虽然前后两个对象(原来的和新的对象)有着相同的数据集

合(所以相等 == ),但是变量指向的却不是同一个对象了(所以执行 is 操作会返回 false).还

要注意,即使它们的所有的值都相同,一个列表也不可能"等于"一个元组.


面向对象的列表函数用法

表 6.11 列表类型内建函数

List Method Operation

list.append(obj)  向列表中添加一个对象 obj

list.count(obj) 返回一个对象 obj 在列表中出现的次数

list.extend(seq)

a  把序列 seq 的内容添加到列表中

list.index(obj, i=0,

j=len(list))  返回 list[k] == obj 的 k 值,并且 k 的范围在 i<=k

reverse=False)

b 以指定的方式排序列表中的成员,如果 func 和 key 参数指定,

则按照指定的方式比较各个元素,如果 reverse 标志被置为

True,则列表以反序排列.

a.  Python1.5.2 加入的特性.

b.  key 和 reverse 特性在 Python2.4 中新添.

>>> music_media = [45]

>>> music_media

[45]

>>>

>>> music_media.insert(0, 'compact disc')

>>> music_media

['compact disc', 45]

>>>

>>> music_media.append('long playing record')

>>> music_media

['compact disc', 45, 'long playing record']

>>>

>>> music_media.insert(2, '8-track tape')

>>> music_media

['compact disc', 45, '8-track tape', 'long playing record']

在前面的例子中,我们用一个元素初始化了一个列表,然后当向列表插入元素,或在尾部追

加新的元素后,都会去检查这个列表.现在确认一下一个值是否在我们的列表中,并看看如何找

出元素在列表中的索引值.我们用 in 操作符和 index()方法实现这两个需求.

>>> 'cassette' in music_media

False

>>> 'compact disc' in music_media

True

>>> music_media.index(45)

1

>>> music_media.index('8-track tape')



理解  变成短句子  复述  讲解  钩子  逻辑


元组

创建一个元组并给他赋值实际上跟创建一个列表并给它赋值完全一样,除了一点,只有一个

元素的元组需要在元组分割符里面加一个逗号(,)用以防止跟普通的分组操作符混淆.不要忘了

它是一个工厂方法!

>>> aTuple = (123, 'abc', 4.56, ['inner', 'tuple'], 7-9j)

>>> anotherTuple = (None, 'something to see here')

>>> print aTuple

(123, 'abc', 4.56, ['inner', 'tuple'], (7-9j))

>>> print anotherTuple

(None, 'something to see here')

>>> emptiestPossibleTuple = (None,)

>>> print emptiestPossibleTuple

(None,)

>>> tuple('bar')

('b', 'a', 'r')

如何访问元组中的值

元组的切片操作跟列表一样,用方括号作为切片操符([]),里面写上索引值或者索引范围.

>>> aTuple[1:4]

('abc', 4.56, ['inner', 'tuple'])

>>> aTuple[:3]

(123, 'abc', 4.56)

>>> aTuple[3][1]

'tuple'


浅拷贝只是拷贝了一个对象的指针,比如说 a=10  b=a  c=a,如果是浅拷贝,当b中引用的a改变时,c中的也会改变,深拷贝则不会,核心模块: copy 

我们刚才描述的浅拷贝和深拷贝操作都可以在 copy 模块中找到.其实 copy 模块中只有两

个函数可用:copy()进行浅拷贝操作,而 deepcopy()进行深拷贝操作.




最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,362评论 5 477
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,330评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,247评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,560评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,580评论 5 365
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,569评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,929评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,587评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,840评论 1 297
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,596评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,678评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,366评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,945评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,929评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,165评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 43,271评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,403评论 2 342

推荐阅读更多精彩内容

  • http://python.jobbole.com/85231/ 关于专业技能写完项目接着写写一名3年工作经验的J...
    燕京博士阅读 7,545评论 1 118
  • 基础1.r''表示''内部的字符串默认不转义2.'''...'''表示多行内容3. 布尔值:True、False(...
    neo已经被使用阅读 1,658评论 0 5
  • 一、python 变量和数据类型 1.整数 Python可以处理任意大小的整数,当然包括负整数,在Python程序...
    绩重KF阅读 1,633评论 0 1
  • 个人笔记,方便自己查阅使用 Py.LangSpec.Contents Refs Built-in Closure ...
    freenik阅读 67,677评论 0 5
  • 回忆都会褪色,平凡与我们不期而遇,但是总会有闪光的时刻让我们变得与众不同,让过去变得有迹可循,我愿意在那些时刻到来...
    我因何雨声阅读 325评论 0 0