200 ? "200px" : this.width)!important;}
-->

介绍

python中存在两种有序的类型列表,分别是list(列表)和tuple(元组)。list可变、tuple不可变。

 
 

一、list[]列表

为什么说list是可变的元素列表,因为在定义完list列表之后,还可以对列表中的元素值进行修改、增加或删除元素;同时list是一个有序的集合,注意列表和数组一样索引也是从0开始。

1.定义list列表

name=['a','b',3]

2.获取list的值

>>> name[0]
'a'
>>> name[1]
'b'
>>> name[2]
3

>>> name[-1]
  3
  >>> name[-2]
  'b'

3.获取列表的长度

>>> len(name)
3

4.修改列表元素的值

>>> name[0]=1
>>> name
[1, 'b', 3]

将列表的第一个元素的值修改为1

5.增加元素

>>> name.append('')
>>> name
[1, 'b', 3, '']

append方法默认在列表末尾增加元素

在指定位置增加元素

>>> name.insert(1,'中')
>>> name
[1, '中', 'b', 3, '']

可以使用insert在指定的位置增加元素

6.删除元素

删除末尾元素

>>> name.pop()
''
>>> name
[1, '中', 'b', 3]

删除指定元素

>>> name.pop(3)
3
>>> name
[1, '中', 'b']

6.列表中包含列表

>>> name.insert(1,['明','天'])
>>> name
[1, ['明', '天'], '中', 'b']

返回元素'天'

>>> name[1][1]
'天'

二、tuple()列表

tuple也是一种有序的列表,但是它一旦定义了就无法更改,你也可以用获取LIST元素的方法获取tuple元素,但是不能使用append、pop、insert等方法修改元组。

1.定义元组

>>> tu=('a','b','c',4)
>>> tu
('a', 'b', 'c', 4)

2.获取元素

>>> tu[0]
'a'
>>> tu[-1]
4

3.当对元素的值进行修改时失败

>>> tu[0]=''
Traceback (most recent call last):
File "<pyshell#74>", line 1, in <module>
tu[0]=''
TypeError: 'tuple' object does not support item assignment

4.定义一个空的tuple

>>> t=()
>>> t
()

5.定义一个元素的tuple

>>> t=(1,)
>>> t
(1,)

注意:1后面需要加逗号,否则会被解析成数学表达式的括号等于1,例如:

>>> x=(1)
>>> x
1

它不是元组,只能算是一个赋值操作了

6.定义"可变"的tuple

注意这里的可变的意思需要特别理解,这里的可变不是tuple的元素,而是元素内才元素

>>> tlist=('a','b',['c','d'])
>>> tlist
('a', 'b', ['c', 'd'])

修改元素“['c','d']”列表中的值、

>>> tlist[2][0]='x'
>>> tlist[2][1]='y'
>>> tlist
('a', 'b', ['x', 'y'])
>>>

对于tuple来说它只能保证它括号内的基本元素不变,但是元素内在值不在限制内,例如上面的列子tlist有三个元素分别是:'a','b','[]',而元素'[]'是一个列表,它包含值'c','d',所以元素列表'[]'的值不在tuple的限制之内了。

总结

在面向对象的语言里,所有元素的都称为对象,所以list和tuple都是对象;而list是可变对象,tuple是不可变对象(前提tuple中不能存在list)。

备注:

作者:pursuer.chen

博客:http://www.cnblogs.com/chenmh

本站点所有随笔都是原创,欢迎大家转载;但转载时必须注明文章来源,且在文章开头明显处给明链接。

《欢迎交流讨论》

python list(列表)和tuple(元组)的更多相关文章

  1. Python list 列表和tuple元组

    1 list是一种Python的数据类型--列表 list是一种有序的集合,可以进行增删改查 >>>name=[aa,bb,cc] >>>name ['aa','b ...

  2. list列表、tuple元组、range常用方法总结

    list 列表(数组),是可迭代对象,列表是可变的所以列表的方法都是在列表本身更改的.里面看可以放各种数据类型的数据,可存储大量数据 连接列表可以使用 + 或 extend() a = [1, 3, ...

  3. Python数据类型list(列表)和tuple(元组)

    list Python内置的一种数据类型是列表:list.list是一种有序的集合,可以随时添加和删除其中的元素. 比如,列出班里所有同学的名字,就可以用一个list表示: >>> ...

  4. python 在列表中添加元组元素,按照元组第一个值进行排序

    >>> import bisect >>> scores = [(, , , , 'python')] >>> bisect.insort(sco ...

  5. python基础2--数据结构(列表List、元组Tuple、字典Dict)

    1.Print函数中文编码问题 print中的编码:# -*- coding: utf-8 -*- 注:此处的#代表的是配置信息 print中的换行符,与C语言相同,为"\n" 2 ...

  6. [Python]字典Dictionary、列表List、元组Tuple差异化理解

    概述:Python中这三种形式的定义相近,易于混淆,应注意区分. aDict={'a':1, 'b':2, 'c':3, 'd':4, 'e':5} aList=[1,2,3,4,5] aTuple= ...

  7. python基础——list和tuple(列表和元组)

    1.list的定义,插入insert,append,按位置索引. >>> name = ['Macal','lily','lucy','bob']  --初始化>>> ...

  8. Python之列表、字符串、元组和字典的基本用法

    1 模块初识 Python的强大之处在于他有非常丰富和强大的标准库和第三方库,几乎你想实现的任何功能都有相应的Python库支持,以后的课程中会深入讲解常用到的各种库,现在,我们先来象征性的学2个简单 ...

  9. devi into python 笔记(二)元组 变量声明 和列表解析

    元组tuple: 类似list,只是tuple是不可变的list.类似java的String都是不可改变的.注意:tuple没有方法(有待考证),不可以像list那样那个list.pop 或者list ...

随机推荐

  1. Java 知识点:序列化

    首先明确一点:默认的序列化方法速度很慢,因为需要对整个对象和他的类都进行保存,因此我们建议自定义序列化格式. ObjectInputStream和ObjectOutputStream 用途 Objec ...

  2. JS调用客户端EXE

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  3. Grunt + Bower—前端构建利器(转)

    目前比较流行的WEB开发的趋势是前后端分离.前端采用重量级的Javascript框架,比如Angular,Ember等,后端采用restful API的Web Service服务,通过JSON格式进行 ...

  4. Vagrant搭建Ubuntu-JavaEE开发环境——Tomcat+JDK+MySQL+dubbo+测试

    Vagrant搭建(Tomcat8+JDK7+MySQL5+dubbo) JDK 1.下载jdk 2.解压JDK tar -xzvf jdk-7u79-linux-x64.tar.gz 3.设置环境变 ...

  5. ZOJ 3329-One Person Game(概率dp,迭代处理环)

    题意: 三个色子有k1,2,k3个面每面标号(1-k1,1-k2,1-k3),一次抛三个色子,得正面向上的三个编号,若这三个标号和给定的三个编号a1,b1,c1对应则总和置零,否则总和加上三个色子标号 ...

  6. lightoj 1023

    题意:让你输出前N个大写字母的前K个排列,按字典序,很水,直接dfs. #include<cstdio> #include<string> #include<cstrin ...

  7. 《Python 学习手册4th》 第十三章 while和for循环

    ''' 时间: 9月5日 - 9月30日 要求: 1. 书本内容总结归纳,整理在博客园笔记上传 2. 完成所有课后习题 注:“#” 后加的是备注内容 (每天看42页内容,可以保证月底看完此书) “重点 ...

  8. 在word中显示漂亮的代码

    在word中粘贴或写代码时,通常得不到想要的格式,可用‘Notepad++’工具实现. 步骤: (1)安装Notepad++软件,把代码粘贴进去,选择菜单栏中的语言,然后选择相应代码语言,如P-> ...

  9. Apriori学习笔记

    Apriori算法是一种挖掘关联规则的频繁项集算法,是由Rakesh Agrawal和Ramakrishnan Srikant两位在1994年提出的布尔关联规则的频繁项集挖掘算法.算法的名字" ...

  10. 【九度OJ】题目1201-二叉排序树

    题目 建树过程是递归,"递归的思路不是很复杂",经过题目1078的训练,直接开始编码.提交及修改的过程告诉自己,这是一个错觉,对递归的理解还应该再进一步. 自己的实现 #inclu ...