1,列表:list

可变的数据类型,可以被改变,可以进行嵌套处理,可在一个列表中存储一个序列的项目

指明一个列表的方法是:使用方括号

代码示例:

>>> fruit_list = ['apple', 'pear', 'orange', 'banana', 'watermetton', 'strawberry']
>>> lenrth = len(fruit_list)
>>> print lenrth >>> for items in fruit_list:
print items, apple pear orange banana watermetton strawberry
>>> fruit_list.append('pawpaw') ###添加一个元素
>>> fruit_list.del('apple') ###列表中删除一个元素不能用.del(),而是.remove()
SyntaxError: invalid syntax
>>> fruit_list.remove('aple') Traceback (most recent call last):
File "<pyshell#10>", line , in <module>
fruit_list.remove('aple')
ValueError: list.remove(x): x not in list
>>> fruit_list.remove('apple')
>>> fruit_list.pop()
'pawpaw'
>>> fruit_list.count('apple') ###.count()函数不是统计列表的长度,而是查找列表中某个元素出现的次数,Len(list)用于计算列表长度 >>> print fruit_list
['pear', 'orange', 'banana', 'watermetton', 'strawberry']

2,元组

和列表类似,但是元组是不可修改的,可以进行嵌套

指明一个元组的方法:使用圆括号,中间使用“ , ”将项目分隔

创建一个元组:使用逗号分隔,或者使用tuple()函数 eg:1,2,3  ;tuple([1,2,3])

代码示例:

>>> animal_tuple = ('fish', 'snake', 'wolf',('dog', 'cat', 'sheap'))
>>> len(animal_tuple) ##求解元组的长度 >>> ,,3 ##创建一个元组
(, , )
>>> tuple([,,])
(, , )
>>>
>>> animal_tuple.append('mouse') ##元组是不可修改的 Traceback (most recent call last):
File "<pyshell#20>", line , in <module>
animal_tuple.append('mouse')
AttributeError: 'tuple' object has no attribute 'append'
>>> animal_tuple.index('dog') ##嵌套在元组内的元组元素无法检索到!!!!! Traceback (most recent call last):
File "<pyshell#21>", line , in <module>
animal_tuple.index('dog')
ValueError: tuple.index(x): x not in tuple
>>> animal_tuple.index('fish') ##元组的开始元素的标号是0

3,字典

把键和值联系在一起,其中键必须是唯一的,键和值之间用冒号:进行分隔

字典的表示方法:使用{},键和值之间用冒号“:”隔开,项之间用逗号“,”隔开

代码示例:

>>> phonebook_dict = {'Alice': '', 'Tom':'', 'Snowy': ''}    ##创建一个字典
>>> phonebook_dict
{'Snowy': '', 'Alice': '', 'Tom': ''}
>>> items = [('Alice', ''), ('Tom',''), ('Snowy', '')] ##列表转化为字典
>>> items_dict = dict(items)
>>> items_dict
{'Snowy': '', 'Alice': '', 'Tom': ''}
>>> len(items_dict) >>> change_items = {'Robin': ''}
>>> items_dict.update(change_items) ##.update()更新字典内容
>>> items_dict
{'Snowy': '', 'Alice': '', 'Robin': '', 'Tom': ''}
>>> items_dict.items() ##字典转化为列表.items()函数
[('Snowy', ''), ('Alice', ''), ('Robin', ''), ('Tom', '')]

4:总结

把序列转化为列表:.list(seq)             [1,2,3,4]   >>>>.append()  .remove()  .pop() .index()    .count()  len()

把序列转化为元组:.tuple(seq)          (1,2,3,4)   >>>>>.index()  .count()    len()

把序列转化为字典: .dict(seq)           {'1' : 'Snowy', '2':'Tom', '3': 'Alice'}    >>>>.update()  .pop()  len()

字典转化为列表:   items(dict)

PS:string相当于字符元组

array:只能存储同种数据类型的数据,区别于list,相比较list使用的空间更小,通过 from array import array 可以使用array模块

zip()是Python的一个内建函数,它接受一系列可迭代的对象作为参数,将对象中对应的元素打包成一个个tuple(元组),然后返回由这些tuples组成的list(列表)

code:

>>> a = ['', '']
>>> b = ['a', 'c', 'd']
>>> zip(a,b)
[('', 'a'), ('', 'c')]
>>> zip(*zip(a,b))
[('', ''), ('a', 'c')]
>>> a = [[,,],[,,],[,,]]
>>> zip(a)
[([, , ],), ([, , ],), ([, , ],)]
>>> print [row[] for row in a]
[, , ]
>>> zip(*a)
[(, , ), (, , ), (, , )]

(*)操作符与zip函数配合可以实现与zip相反的功能,即将合并的序列拆成多个tuple。

Python_列表,元组和字典的异同的更多相关文章

  1. Python—列表元组和字典

    Python-列表元组和字典 列表 元组 字典 列表: 列表是Python中的一种数据结构,他可以存储不同类型的数据.尽量存储同一种类型 列表索引是从0开始的,我们可以通过索引来访问列表的值. 列表的 ...

  2. python_列表——元组——字典——集合

    列表——元组——字典——集合: 列表: # 一:基本使用# 1.用途:存放多个值 # 定义方式:[]内以逗号为分隔多个元素,列表内元素无类型限制# l=['a','b','c'] #l=list([' ...

  3. Python成长笔记 - 基础篇 (三)python列表元组、字典、集合

    本节内容 列表.元组操作 字符串操作 字典操作 集合操作 文件操作 字符编码与转码   一.列表和元组的操作 列表是我们最以后最常用的数据类型之一,通过列表可以对数据实现最方便的存储.修改等操作 定义 ...

  4. python学习之列表元组,字典

    list:元素性质可以不一致,元素还可以是list,可类似数组方法进行索引(也可以用负数索引,-1表示最后一个),可用.append('')进行动态增加,可用pop()删除最后一个或者pop(i)删除 ...

  5. python—列表,元组,字典

    ——列表:(中括号括起来:逗号分隔每个元素:列表中的元素可以是数字,字符串,列表,布尔值等等) (列表元素可以被修改)  list(类)    (有序的) [1]索引取值:切片取值:for循环:whi ...

  6. python 序列结构-列表,元组,字典,字符串,集合

    列表 """ name_list.__add__( name_list.__getslice__( name_list.__new__( name_list.append ...

  7. python_列表/元组/元组列表以及如何使用

    1.list是处理一组有序项目的数据结构 #定义一个列表 list=[1,2,3] print type(list) print list[0] 输出: <type 'list'> 1 2 ...

  8. Python列表元组和字典解析式

    目录 列表解析式List comprehensive 集合解析式Set comprehensive 字典解析式Dict comprehensive 总结 以下内容基于Python 3x 列表解析式Li ...

  9. python_列表、元组、字典、集合对比

    列表.元组.字典.集合 列表.元组.字典.集合对比 比较项 列表 元组 字典 集合 类型名称 list tuple dict set 定界符 [] () {} {} 是否可变 是 否 是 是 是否有序 ...

随机推荐

  1. Cursor类用法:

      Cursor类用法:   http://www.2cto.com/kf/201109/103163.html   Ctrl+Shift+G 查找类.方法和属性的引用.这是一个非常实用的快捷键,例如 ...

  2. DM8168 unrecoverable error: OMX_ErrorBadParameter (0x80001005) [resolved]

    DM8168 custom board 成功启动系统之后想先測一下8168编解码功能,把开发包里的examples跑一遍.启动完毕后.连上HDMI显示,在starting Matrix GUI app ...

  3. Legacy BIOS Boot 是如何启动或引导的

    现在Windows 8 64位操作系统全面采用UEFI引导启动的方式,与过去的Legacy启动有什么区别呢?今天就让我们一起来了解下. Legacy BIOS UEFI Boot 是如何启动或引导的 ...

  4. 实例讲解SVN分支和合并问题(转)

    本节向大家简单描述一下SVN分支和合并方面的知识,在学习SVN的过程中SVN分支和合并时经常遇到的问题,在这里和大家分享一下,希望本文对大家有用. 关于主线同SVN分支合并的概念及如何使用的误区此问题 ...

  5. React系列-ES6

    ES6新特性概览 React系列代码(非本人) 5 Projects to Help You Learn React 本人对javascript并不擅长,只是在工作中会时常用到,而且以jQuery居多 ...

  6. Spring AOP和IOC(转载)

    spring 的优点?1.降低了组件之间的耦合性 ,实现了软件各层之间的解耦 2.可以使用容易提供的众多服务,如事务管理,消息服务等 3.容器提供单例模式支持 4.容器提供了AOP技术,利用它很容易实 ...

  7. Android 向右滑动销毁(finish)Activity, 随着手势的滑动而滑动的效果

    http://blog.csdn.net/xiaanming/article/details/20934541

  8. 在Windows平台用visual studio编译的可执行文件部署时报:应用程序无法正常启动0xc000007b(跟DirectX9无关的原因)

    最近在做EasyDarwin开源流媒体服务器Windows版本编译与部署时发现一个问题,在开发机本机运行都很正常,但是部署到目标机器(未安装vs等开发环境)时,莫名其妙报出了"应用程序无法正 ...

  9. EasyDarwin开源流媒体服务器gettimeofday性能优化(3000万/秒次优化至8000万次/秒)

    -本文由EasyDarwin开源团队成员贡献 一.问题描述 Easydarwin中大量使用gettimeofday来获取系统时间,对系统性能造成了一定的影响.我们来做个测试: While(1) { G ...

  10. ReentrantLock(重入锁)简单源码分析

    1.ReentrantLock是基于AQS实现的一种重入锁. 2.先介绍下公平锁/非公平锁 公平锁 公平锁是指多个线程按照申请锁的顺序来获取锁. 非公平锁 非公平锁是指多个线程获取锁的顺序并不是按照申 ...