[转载]Python 元组、列表、字典、文件

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

元组

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

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

来例子吧:

python 代码

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

列表

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

  • 任意对象的有序集合;
  • 可通过偏移存取,注意,列表中的元素都是可变的,这是不同于元组的;
  • 长度可变,支持嵌套;
  • 还有一些类似java的对象引用机制

由于列表的这些特性,使得列表在实际应用中被广泛使用,下面是一些例子。

1) 首先是基本用法

python 代码

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

python 代码

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

python 代码

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

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

python 代码

把列表中,大于3的元素,乘以2:

python 代码

把列表1的每一个元素和列表2的每一个元素相乘:

python 代码
  1. >>> lst1 = [2, 4, 6]
  2. >>> lst2 = [4, 3, -9]
  3. >>> [x*y for x in lst1 for y in lst2]
  4. [8, 6, -18, 16, 12, -36, 24, 18, -54]

取获[0-10)的平方:

python 代码

字典

python里的字典就像java里的HashMap,以键值对的方式存在并操作,其特点如下

  • 通过键来存取,而非偏移量;
  • 键值对是无序的;
  • 键和值可以是任意对象;
  • 长度可变,任意嵌套;
  • 在字典里,不能再有序列操作,虽然字典在某些方面与列表类似,但不要把列表套在字典上

1) 基本操作

python 代码

2) 修改,删除,添加

python 代码

在这里需要来一句,对于字典的扩充,只需定义一个新的键值对即可,而对于列表,就只能用append方法或分片赋值。

3)对字典的遍历

python 代码

文件

与java的File类相比,python的文件类要狭义一些

1) 文件写

python 代码

python的一个open语句就打开了一个文件(当给定的文件不存在时,会自动建立一个新的文件)。open的第一个参数是文件名,第二个参数是操作模式,所谓操作模式就是你打开一个文件是用来干什么的,是读,还是写(当然操作模式不仅只有读和写)。还有一件事,操作完要记得关。

2) 文件读

python 代码

很是简单,这样两句就顶java一长串的流嵌套,当然,java那样做也是有道理的。

ok,学了不少,说实话,python的core真的没多少,也很简单,难的是何时和如何用python。

转载自:http://yangsq.iteye.com/blog/128508

上一篇:R语言中的循环函数(Grouping Function)


下一篇:Android EditText中插入图片并响应点击事件