【和我一起学python吧】python的数据类型

王朝学院·作者佚名  2016-08-27
窄屏简体版  字體: 小  |  中  |  大  |  超大  

python的元组、列表、字典数据类型是很python(there python is a adjective )的数据结构。这些结构都是经过足够优化后的,所以如果使用好的话,在某些area会有很大的益处。

元组

个人认为就像java的数组,python中的元组有以下特性:

任意对象的有序集合,这条没啥说的,数组的同性;通过偏移读取;一旦生成,不可改变;固定长度,支持嵌套 来例子吧:

python 代码

>>> (0, 'haha', (4j, 'y')) (0, 'haha', (4j, 'y')) >>> t = (1, 3, 'b') >>> t[2] 'b' >>> t[3] Traceback (most recent call last): File "#41>", line 1, in <module></module> t[3] IndexError : tuple index out of range >>> t[-1] 'b' >>> t[0:-1] (1, 3) >>> t * 2 (1, 3, 'b', 1, 3, 'b') >>> for x in t: PRint x, 1 3 b >>> 'b' in t True >>> q = t + ((3, 'abc')) >>> q (1, 3, 'b', 3, 'abc') >>> for x in (2, (3, 'a')): print x 2 (3, 'a') >>> len (q) 5 >>> len ((2, (3, 'abc'))) 2 >>> (1, 2, 3)[1] 2 >>> q[1] = 'd' Traceback (most recent call last): File "#57>", line 1, in <module></module> q[1] = 'd' TypeError : ' tuple ' object does not support item assignment >>> a = ('b', 'c', q) >>> 1 in a False >>> q in a True >>> a ('b', 'c', (1, 3, 'b', 3, 'abc')) >>> q='d' >>> a ('b', 'c', (1, 3, 'b', 3, 'abc'))

上面的例子足以说明大部分了,使用元组时最重要的一点是“一旦生成,就不可变了”。

列表

列表就像java里的collection,所具有的特性也要比元组更多,更灵活,其character总结如下:

任意对象的有序集合;可通过偏移存取,注意,列表中的元素都是可变的,这是不同于元组的;长度可变,支持嵌套;还有一些类似java的对象引用机制 由于列表的这些特性,使得列表在实际应用中被广泛使用,下面是一些例子。

1) 首先是基本用法

python 代码

>>> l = ['a', 'b', 'c'] >>> len (l) 3 >>> l + ['d'] ['a', 'b', 'c', 'd'] >>> l * 2 ['a', 'b', 'c', 'a', 'b', 'c'] >>> for x in l: print x, a b c

2) 索引和分片,赋值(单个元素赋值,分片赋值)

python 代码

>>> l = ['abc', ' def ', 'ghi', 123] >>> l[2] 'ghi' >>> l[-3] ' def ' >>> l[:3] ['abc', ' def ', 'ghi'] >>> l[1] = 'haha' >>> l ['abc', 'haha', 'ghi', 123] >>> l[1:] = ['apple', 'banana'] >>> l ['abc', 'apple', 'banana'] >>> l[2] = [123, 345, 456] >>> l ['abc', 'apple', [123, 345, 456]] >>> l[1:] = [123, 234, 345, 456, 567] >>> l ['abc', 123, 234, 345, 456, 567]

3) 添加、排序、删除操作

python 代码

>>> l = ['abc', ' def ', 'ghi', 123] >>> l. append (456) >>> l ['abc', ' def ', 'ghi', 123, 456] >>> l.sort() >>> l [123, 456, 'abc', ' def ', 'ghi'] >>> del l[0] >>> l [456, 'abc', ' def ', 'ghi'] >>> del l[2:] >>> l [456, 'abc']

4)一些有趣的用法(来自论坛 id—咖啡舞者 )

去掉列表中每个元素头尾的空格:

python 代码

() 元素固定

 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
© 2005- 王朝網路 版權所有 導航