[转载]Python 元组、列表、字典、文件
python的元组、列表、字典数据类型是很python(there python is a adjective)的数据结构。这些结构都是经过足够优化后的,所以如果使用好的话,在某些area会有很大的益处。
元组
个人认为就像java的数组,python中的元组有以下特性:
- 任意对象的有序集合,这条没啥说的,数组的同性;
- 通过偏移读取;
- 一旦生成,不可改变;
- 固定长度,支持嵌套
来例子吧:
上面的例子足以说明大部分了,使用元组时最重要的一点是“一旦生成,就不可变了”。
列表
列表就像java里的collection,所具有的特性也要比元组更多,更灵活,其character总结如下:
- 任意对象的有序集合;
- 可通过偏移存取,注意,列表中的元素都是可变的,这是不同于元组的;
- 长度可变,支持嵌套;
- 还有一些类似java的对象引用机制
由于列表的这些特性,使得列表在实际应用中被广泛使用,下面是一些例子。
1) 首先是基本用法
2) 索引和分片,赋值(单个元素赋值,分片赋值)
3) 添加、排序、删除操作
4)一些有趣的用法(来自论坛 id—咖啡舞者)
去掉列表中每个元素头尾的空格:
把列表中,大于3的元素,乘以2:
把列表1的每一个元素和列表2的每一个元素相乘:
- >>> lst1 = [2, 4, 6]
- >>> lst2 = [4, 3, -9]
- >>> [x*y for x in lst1 for y in lst2]
- [8, 6, -18, 16, 12, -36, 24, 18, -54]
取获[0-10)的平方:
字典
python里的字典就像java里的HashMap,以键值对的方式存在并操作,其特点如下
- 通过键来存取,而非偏移量;
- 键值对是无序的;
- 键和值可以是任意对象;
- 长度可变,任意嵌套;
- 在字典里,不能再有序列操作,虽然字典在某些方面与列表类似,但不要把列表套在字典上
1) 基本操作
2) 修改,删除,添加
在这里需要来一句,对于字典的扩充,只需定义一个新的键值对即可,而对于列表,就只能用append方法或分片赋值。
3)对字典的遍历
文件
与java的File类相比,python的文件类要狭义一些
1) 文件写
python的一个open语句就打开了一个文件(当给定的文件不存在时,会自动建立一个新的文件)。open的第一个参数是文件名,第二个参数是操作模式,所谓操作模式就是你打开一个文件是用来干什么的,是读,还是写(当然操作模式不仅只有读和写)。还有一件事,操作完要记得关。
2) 文件读
很是简单,这样两句就顶java一长串的流嵌套,当然,java那样做也是有道理的。
ok,学了不少,说实话,python的core真的没多少,也很简单,难的是何时和如何用python。
转载自:http://yangsq.iteye.com/blog/128508
[转载]Python 元组、列表、字典、文件的更多相关文章
- python 元组 列表 字典
type()查看类型 //取整除 **幂 成员运算符: in x在y序列中,就返回true 反之 not in 身份运算符: is is not 逻辑运算符 and or not 字符编码 问题 ...
- python字符串/列表/字典互相转换
python字符串/列表/字典互相转换 目录 字符串与列表 字符串与字典 列表与字典 字符串与列表 字符串转列表 1.整体转换 str1 = 'hello world' print(str1.spli ...
- python元组 列表 (取值、替换、插入、添加、删除)
1.元组 列表 字典 元组( 元组是不可变的) hello = (1,2,3,4,5) type(hello)
- Python【列表 字典 元组】
列表列表用中括号[ ]把各种数据框起来,每一个数据叫作“元素”.每个元素之间都要用英文逗号隔开各种类型的数据(整数/浮点数/字符串)————————————————————————————从列表提取单 ...
- Python元组与字典详解
Python 元组 Python的元组与列表类似,不同之处在于元组的元素不能修改. 元组使用小括号,列表使用方括号. 元组创建很简单,只需要在括号中添加元素,并使用逗号隔开即可. 如下实例: tup ...
- Python 学习笔记(九)Python元组和字典(一)
Python 元组 元组的定义 元组(tuple)是一种Python对象类型,元组也是一种序列 Python中的元组与列表类似,不同之处元组的元素不能修改 元组使用小括号,列表使用方括号 元组的创建 ...
- 初识python 字符串 列表 字典相关操作
python基础(一): 运算符: 算术运算: 除了基本的+ - * / 以外,还需要知道 : // 为取整除 返回的市商的整数部分 例如: 9 // 2 ---> 4 , 9.0 // ...
- python基础之数据类型/字符串/元组/列表/字典
Python 数据类型 数字类型: int整型,long 长整型(在python3.0里不区分整型和长整型).float浮点型:complex复数(python中存在小数字池:-5--257):布尔值 ...
- Python之路 day2 字符串/元组/列表/字典互转
#-*-coding:utf-8-*- #1.字典 dict = {'name': 'Zara', 'age': 7, 'class': 'First'} #字典转为字符串,返回:<type ' ...
随机推荐
- [Machine-Learning] 熟悉 Matlab 中的 map
概述 map 的意思是映射,即将一个变量映射到另一个变量. 比如将一个字符串映射为一个数值,那个字符串就是map 的键值(key),数值就是map的数据(value). 由此可以把map理解为一个哈希 ...
- 关于工程结合git的配置
我们通常把代码放到git sever中,(scm manager)中,上传,下载代码, 可是通常工程的代码改动会有图标提示,改动过的,或者新增的,那么需要在eclipse的工程中做一下简单配置 1,工 ...
- Linux关机和重启命令
shutdown shutdown [选项] 时间 选项: -c : 取消一个关机命令 -h : 关机 -r : 重启 [root@localhost ~]# date Tue Dec 6 21:06 ...
- dm9000网口收发控制以及mac地址过滤设置
目的 :完成网口收发调试 过程 : 1.网口初始化,根据芯片数据手册配置 2.网口发数,先向DM9000中的TX FIFO存入数据,然后出发发送寄存器完成发送: 3.网口接收 . ...
- Intent四个重要属性
Intent四个重要属性 Intent作为联系各Activity之间的纽带,其作用并不仅仅只限于简单的数据传递.通过其自带的属性,其实可以方便的完成很多较为复杂的操作.例如直接调用拨号功能.直接自 ...
- 用FileInputStream读取数据,计算机如何实现将两个字节拼接成中文的?
package itcast_02; import java.util.Arrays; /* * 在计算机中如何识别将连个字节转换为中文的呢? * 在计算机中中文的存储为两个字节 : * 第一个字节 ...
- Makefile相关知识
1. Makefile的编写: 1>. makefile的命名 1. makefile 2. Makefile 2>. makefile中的规则 三部分: 目标(app):依赖(main. ...
- Intellij 打开就闪退或关闭
找到安装目录的bin目录,搜索vmoptions可以看到两个文件, idea.exe.vmoptions idea64.exe.vmoptions 这两个文件就是IDEA的一些配置文件,带64位 ...
- 利用Github Pages生成一个快速访问的网址,展示自己的项目
利用Github Pages展示自己的项目 写了个小项目,想要分享出去,一直在用Github管理项目,了解到Github还有Github Pages功能,然后惊喜的发现Github pages可以搭建 ...
- redsocks 将socks代理转换成全局代理
redsocks 需要手动下载编译.前置需求为libevent组件,当然gcc什么的肯定是必须的. 获取源码 git clone https://github.com/darkk/redsocks 安 ...