python列表元组

索引
切片
追加
删除
长度
循环
包含
 
定义一个列表

my_list = []

    my_list = list()
 
my_list = ['Michael', 'Bob', 'Tracy']
len(my_list) 获取元素个数
列表是一个可变的有序列表,所以通过索引定义元素位置
>>my_list[0]  第一个元素 
'Michael'
>>my_list[1]第二个元素 以此类推
'Bob'
如果取最后一个元素,除了计算索引位置,还可以用-1做索引,直接获取最后一个元素:
>>my_list[-1]
'Tracy'
以此类推,可获取倒数第二、第三个:
>>my_list[-2]
'Bob'
因为是有序列表  所有可以用my_list.append() 追加元素到末尾
>>my_list.append('admin')
['Michael', 'Bob', 'Tracy', 'admin']
插入元素到指定位置,比如加索引到为2的位置:
>>my_list.insert(2, 'Jack')
['Michael', 'Bob', Jack , 'Tracy', 'admin']
删除元素

删除末尾的元素

>>my_list.pop()
'admin'
['Michael', 'Bob', Jack , 'Tracy']
删除指定位置的元素,用 pop(i)方法,其中i为索引位置:
>>my_list.pop(1)
'Bob'
>>>my_list
['Michael' , Jack , 'Tracy']
删除指定元素
>>my_list.remove('Bob')
 
替换指定索引的某个元素
>>my_list[1] = "Bob"
>>my_list
['Michael', 'Bob', Jack , 'Tracy']
list里可以是不同类型元素:
>> LIST = ['apple', 123, True]
list里可以包含另外一个list
>>s = ['c', 'c++', ['python', 'asp', 'php'], 'scheme']
>>len(s)
4
s只有四个元素,其中s[2]有事一个list,拆开写就是:
>>p = ['python', 'asp', 'php']
>>s =   ['c', 'c++',p ,'scheme']
要拿到'python'可以写p[1]或者s[2][1],因此s可以称之为二维数组,类似的还有三维、四维数组,不过很少用到。
 
tuple
另一种有序列表叫元祖:tuple. tuple和list很相似,但是tuple一旦初始化就不能修改,比如列出同学的名字
classmates = ('Michael', 'Bob', 'Tracy')
现在,classmates 这个tuple 就不能变了,它没有append(), insert()这样的方法。其他获取元素的方法和list一样,可以用索引的方式获取。但是不能将指定索引的元素修改成其他值/
 
不可变的tuple,因为tuple不可变,所以代码更安全。如果可以,尽量用tuple代替list。
 
tuple的陷阱: 当定义一个tuple时,在定义的时候,tuple的元素必须确定下来!!
 
定义一个空元素可以写 
 t = ()  或者 t = tuple()
但是,要定义只有一个元素的tupy,如果这么定义
>>t = (1)
>>t
1
定义的不是tuple, 是 1 这个数!这是因为括号()既可以表示tuple,又可以表示数学公式中的小括号,这就产生了歧义,因此python规定,这种情况下,按小括号计算,结果自然是1
 
所以,只有1个元素的tuple定义时必须加一个逗号,,来消除歧义:
>> t = (1, )
>>t
(1, )
 
python在显示只有一个元素的tuple时,也会加一个逗号,以免你误解成数学计算意义上的括号。
 
'可变'的tuple:
>> t = ('a', 'b', ['A', 'B'])
>>t[2][0] = 'X'
>>t[2][1] = 'Y'
>>t
('a', 'b', ['X', 'Y'])
 
实际上这个tuple还是三个元素,因为包含的list可变,所以,就知道这种看起来tuple可变的现象。
 
tuple指向了可变的list
 
要想创建一个内容不变的tuple,就必须保证tuple的每个元素本身也不能变

python列表元组的更多相关文章

  1. Python—列表元组和字典

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

  2. 【277】◀▶ Python 列表/元组/字典说明

    目录: 前言 一.访问列表中的值 二.更新列表 三.删除列表元素 四.Python 列表脚本操作符 五.Python 列表函数 & 方法 参考:Python 列表(List)使用说明 列表截取 ...

  3. Python 列表/元组/字典总结

    序列是Python中最基本的数据结构.序列中的每个元素都分配一个数字 - 它的位置,或索引,第一个索引是0,第二个索引是1,依此类推. Python有6个序列的内置类型,但最常见的是列表和元组. 序列 ...

  4. python3笔记十八:python列表元组字典集合文件操作

    一:学习内容 列表元组字典集合文件操作 二:列表元组字典集合文件操作 代码: import pickle  #数据持久性模块 #封装的方法def OptionData(data,path):    # ...

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

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

  6. Python列表,元组,字典,序列,引用

    1.列表 # Filename: using_list.py # This is my shopping list shoplist=["apple", "mango&q ...

  7. python 列表 元组 字典 集合

    列表 lst = [i for i in range(10)] 切片 # 把下标小于2的显示出来 print(lst[:2]) # 把10个数有大到小输出 print(lst[::-1]) # 把下标 ...

  8. Python 列表&元组&字典&集合

    列表(list) 有序性,可存储任意类型的值 通过偏移存取,支持索引来读取元素,第一个索引为0 ,倒数第一个索引为-1 可变性 ,支持切片.合并.删除等操作 可通过索引来向指定位置插入元素 可通过po ...

  9. Python列表,元组,字典,集合详细操作

    菜鸟学Python第五天 数据类型常用操作及内置方法 列表(list) ======================================基本使用====================== ...

随机推荐

  1. uva 639 Don't Get Rooked 变形N皇后问题 暴力回溯

    题目:跟N皇后问题一样,不考虑对角冲突,但考虑墙的存在,只要中间有墙就不会冲突. N皇后一行只能放一个,而这题不行,所以用全图暴力放棋,回溯dfs即可,题目最多就到4*4,范围很小. 刚开始考虑放一个 ...

  2. 代码中添加事务控制 VS(数据库存储过程+事务) 保证数据的完整性与一致性

    做人事档案的系统考虑到数据的安全性与一致性,毕竟是要对外上线.真正投入使用的项目,数据库的可靠性与安全性上我们开发人员要考虑的就很多了,记得做机房收费系统时注册新卡是自己为了简单,写成了一个存储过程( ...

  3. MATLAB中imshow()和image()

    MATLAB中imshow()和image(): IMSHOW Display image in Handle Graphics figure. IMSHOW(I) displays the gray ...

  4. Oracle包的概念

    转自:http://www.cnblogs.com/lovemoon714/archive/2012/02/29/2373695.html 1.为什么要使用包?       答: 在一个大型项目中,可 ...

  5. eclipse run on server 浏览器启动设置

  6. 上星期IOS的一个面试题。

    美丽说面试题 1,IOS是怎样进行内存管理的,什么是ARC. 2,声明Property时,assign,nonatomic,readonly,retain,copy(各什么意思,括号里没打印出来,我猜 ...

  7. Qt窗口屏幕居中显示(有专门的QDesktopWidget,先计算后显示)

    窗口的屏幕居中显示问题,在各开发工具中原理相同,首先使用特定的方法得到显示屏幕的宽度和高度,再根据窗口本身的宽度和高度计算出窗口的左上角坐标位置. Qt中可以采用两种方法达到窗口的屏幕居中显示: 方法 ...

  8. 64位WINDOWS系统环境下应用软件开发的兼容性问题(CPU 注册表 目录)

    应用软件开发的64 位WINDOWS 系统环境兼容性 1. 64 位CPU 硬件 目前的64位CPU分为两类:x64和IA64.x64的全称是x86-64,从名字上也可以看出来它和 x86是兼容的,原 ...

  9. 让.net程序自动运行在管理员权限下

    原文:让.net程序自动运行在管理员权限下 如何让.net程序自动运行在管理员权限下 VS2010 c# 编译的WINFORM程序 在Win7 以管理员身份运行 windows 7和vista提高的系 ...

  10. python总结

    环境:django,numpy,matplotlib, 解释语言:开发效率高,通用性强,内置方便的数据容器,易于扩展和嵌入. 语言:lua--嵌入式/网络/APP,erlang--嵌入式,python ...