定义的异同:

列表(list):[]

list是一种有序的集合,能够随时加入和删除当中的元素。用 [] 表示。

列表的三个特性:①创建之后也能够加减改动元素。 ②元素能够是数字、字符、变量等。也能够混杂。 ③列表能够嵌套。

比如:

  1. >>>f=3
  2. >>>list_example = [1, 'dog', f, ['monkey', 'duck']]
  3. >>>list_example
  4. [1, 'dog', 3, ['monkey', 'duck']]

元组(tuple): ()

tuple也是有序的集合,它和list不同的是它仅仅能在初始化的时候赋值,之后就不能再进行加入删除元素了。用 () 表示。

元组的三个特性:①创建之后不能加减改动元素; ②元素也能够是数字、字符、变量或者混杂; ③元组也能够嵌套。

比如:

  1. >>>f=3
  2. >>>tuple_example = (1, 'dog', f, ('monkey', 'duck'))
  3. >>>tuple_example
  4. (1, 'dog', 3, ('monkey', 'duck'))

综上能够看出,tuple和list的不同主要在于: tuple在初始化之后不能再改动,可是list能够

各种同样:

两者除了在初始化后是否能再变化这个问题上不同样外。其它方面差点儿都是同样的。

初始化:

list_example = [1, 2, [3, 4], 5, 6]

tuple_example = (7, 8, (9, 10), 11, 12)

使用方法上的同样点:

1、假设仅仅有一个元素,要在后面加个’,’,否则仅仅相当于定义了一个变量:

  1. >>>list_example = [1]
  2. 1
  3. >>>list_example = [1,]
  4. [1]
  5. >>>tuple_example = (1,)
  6. (1,)

2、利用索引输出元素(注意索引从0開始):

  1. >>>list_example[0]
  2. 1
  3. >>>tuple_example[2][0]
  4. 9

3、索引为负数,表示从尾往前搜索(-1表示最后一个元素):

  1. >>>list_example[-1]
  2. 6
  3. >>>tuple_example[-3][-1]
  4. 10

4、tuple和list能够相互嵌套:

  1. >>>list_example = [1,(2,3)]
  2. [1,(2,3)]
  3. >>>tuple_example = (4,[5,6])
  4. >(4,[5,6])

方法上的同样点:

1、count(elem):返回元素中elem的个数

  1. >>>tuple_example = (7, 8, (7, 10), 7, 12)
  2. >>>tuple_example.count(7)
  3. 2

2、index(elem):返回元素elem的索引

  1. >>>list_example = [7, 8, (7, 10), 8, 12]
  2. >>>list_example.index(8)
  3. 1

各种不同:

由于tuple不能改动删除。而已list能够。所以有些方法是list才有的。

初始化:

list_example = [1, 2, [3, 4], 5, 6]

1、append(object):在末尾加入元素:

  1. >>>list_example.append(100)
  2. [1, 2, [3, 4], 5, 6, 100]
  3. >>>list_example.append([100, 200])
  4. [1, 2, [3, 4], 5, 6, 100, [100, 200]]

2、extend(object):在末尾加入元素,但object必须是列表。object的元素将会加入到列表的末尾:

  1. >>>list_example.append([100, 200])
  2. [1, 2, [3, 4], 5, 6, 100, 200]

3、insert(index,object):将元素object加入到索引为index的位置:

  1. >>>list_example.insert(1, 'abc')
  2. [1, 'abc', 2, [3, 4], 5, 6]

4、pop(index):将索引为index的元素弹出列表:

  1. >>>list_example.pop(1)
  2. 2
  3. >>>list_example
  4. [1, [3, 4], 5, 6]

5、remove(value):删除元素value(仅仅删除第一个出现的)

  1. >>>list_example = [1, 2, 5, [3, 4], 5, 6]
  2. >>>list_example.remove(5)
  3. >>>list_example
  4. [1, 2, [3, 4], 5, 6]

6、sort(cmp=None,key=None,reverse=False):对元素排序。

默认是从小到大,不同类型的元素按数字—>列表—>字符—>元组先后排序。

  1. >>>list_example = [1, 'cd', ('b', 'f'), 8, 'ab', [4, 3], (1, 2), [2,9], 5, 6]
  2. >>>list_example.sort(cmp=None, key=None, reverse=False)
  3. >>>list_example
  4. [1, 5, 6, 8, [2, 9], [4, 3], 'ab', 'cd', (1, 2), ('b', 'f')]

总之。tuple和list功能上是非常相近的,仅仅是tuple在初始化后就不能更改了。这也说明tuple具有更高的安全性。防止数据被误改动。对于无需改动的数据,相似于“仅仅读”性质的数据,最好选用tuple。

转载请注明出处,谢谢!(原文链接:http://blog.csdn.net/bone_ace/article/details/46633029

python元组、列表的异同总结的更多相关文章

  1. python元组 列表 (取值、替换、插入、添加、删除)

    1.元组 列表 字典 元组( 元组是不可变的) hello = (1,2,3,4,5) type(hello)

  2. python 元组 列表 字典

    type()查看类型 //取整除 **幂 成员运算符: in  x在y序列中,就返回true 反之  not in 身份运算符: is is not 逻辑运算符 and or not 字符编码 问题 ...

  3. python 元组列表合并

    #create a tuple l = [(,), (,), (,)] print(list(zip(*l)))

  4. python 元组列表转为字典

    #create a list l = [(), (), (), (), (), ()] d = {} for a, b in l: d.setdefault(a, []).append(b) prin ...

  5. python中列表 元组 字典 集合的区别

    列表 元组 字典 集合的区别是python面试中最常见的一个问题.这个问题虽然很基础,但确实能反映出面试者的基础水平. (1)列表 什么是列表呢?我觉得列表就是我们日常生活中经常见到的清单.比如,统计 ...

  6. Python基础------列表,元组的调用方法

    Python基础------列表,元组的调用方法@@@ 一. 列表 Python中的列表和歌曲列表类似,也是由一系列的按特定顺序排列的元素组成的,在内容上,可以将整数,实数,字符串,列表,元组等任何类 ...

  7. Python中列表、元组、集合、字典

    Python 列表(List) 列表是最常用的Python数据类型: 列表中的数据项不需要具有相同的类型: 列表也叫做数组,定义时使用[]: 通过下标访问列表中的元素,下标从 0  开始计数 列表的增 ...

  8. python 元组不变 列表可变

    python 元组不变 列表可变 1,   --元组,注意要有逗号: [1] --列表 竟然才开始写python blog:

  9. Python基础——列表、元组操作

    列表.元组操作 列表: 列表是Python中最基本的数据结构,列表是最常用的Python数据类型,列表的数据项不需要具有相同的类型.列表中的每个元素都分配一个数字 - 它的位置,或索引,第一个索引是0 ...

  10. Python 元组和列表

    Python 元组 Python的元组与列表类似,不同之处在于元组的元素不能修改. 元组使用小括号,列表使用方括号. 元组创建很简单,只需要在括号中添加元素,并使用逗号隔开即可. 如下实例: tup1 ...

随机推荐

  1. 修改hadoop的jar包运行时候分配的jvm内存

    在hadoop-env.sh中修改参数添加 export HADOOP_HEAPSIZE="4096" 设置分配的最大jvm内存为4096,一般用于jar包里面除了执行map和re ...

  2. 找礼物(find)(模拟)

    找礼物(find) 时间限制: 1 Sec  内存限制: 64 MB提交: 57  解决: 4[提交][状态][讨论版] 题目描述 新 年到了,你的好友和你(共K个人)的周围满是礼物,你让你的好友先拿 ...

  3. 学习LSM(Linux security module)之四:一个基于LSM的简单沙箱的设计与实现

    嗯!如题,一个简单的基于LSM的沙箱设计.环境是Linux v4.4.28.一个比较新的版本,所以在实现过程中很难找到资料,而且还有各种坑逼,所以大部分的时间都是在看源码,虽然写的很烂,但是感觉收获还 ...

  4. 微信小程序开发教程(四)线程架构与开发步骤

    线程架构 从前面的章节我们可以知道,.js文件是页面逻辑处理层.我们可以按需在app.js和page.js中添加程序在生命周期的每个阶段相应的事件.如在页面的onLoad时进行数据的下载,onShow ...

  5. Combination Sum IV -- LeetCode

    Given an integer array with all positive numbers and no duplicates, find the number of possible comb ...

  6. nginx+php-fpm 报错Primary script unknown

    报错信息(nginx日志): // :: [crit] #: * stat() : Permission denied), client: 172.21.205.25, server: localho ...

  7. Android 架构 2.界面

    其中,最上层的界面,是变化最频繁的一个层面,也是最复杂最容易出问题的一个层面,如果规划不好,很容易做着做着,又乱成一团了.要规划好界面层,至少应该遵循几条基本的原则: 保持规范性:定义好开发规范,包括 ...

  8. Linux防止“rm -rf /”误删除

    说明:不解释了,运维应该在每台服务器都去配置这个问题以减少灾难的发生 方法: 1.safe-rm safe-rm是一个开源软件用来替代不太安全的rm,可以在/etc/safe-rm.conf中配置路径 ...

  9. Error (10663): Verilog HDL Port Connection error at led_demo.v(6): output or inout port "led" must be connected to a structural net expression

    错误现象:

  10. 2017年最全的30个Android面试题,你将如何回答?

    百度首页 登录 2017年最全的30个Android面试题,你将如何回答? 机翼技术 百家号 03-10 02:32 “三金四银”又是一年一度的跳槽季,相信有不少Android程序员开始摩拳擦掌蠢蠢欲 ...