Python学习随笔二:list和tuple
2017-08-15 10:42
274 查看
写在前面
本博客是基于廖雪峰Python教程基础上的自我整理和消化,欢迎大家批评指正。第二节内容将介绍:list
tuple
list
基本形式
Python内置的一种数据类型是列表,由于Python是一种动态语言,事先并不需要对变量进行申明,在Python中依据数据区分数据类型,如整数 1, 34
浮点数 3.14
字符串 ‘3.14’
而以[ ]包裹起来的即为列表,各个元素之间以逗号分隔,如[‘Ada’,’Sherry’,’Frank’]
>>>list('turbo')#根据字符串创建列表,应对字符串不可改 ['t', 'u', 'r', 'p', 'l', 'e']
list方法
作为Python的“苦力”,list有很多的内置方法长度len()
用len()函数可以获得list元素的个数>>>books = ['Python', 'C++', 'Java', 'C', 'C#', 'matlab'] >>>len(books) 6
利用索引访问列表元素
用索引来访问list中每一个位置的元素,索引是从0开始的,也可以从后往前访问(负数),还可以分片访问(第一个索引是需要提取部分的第一个元素的编号,第二个索引是分片之后剩下部分的第一个元素的编号,第三个索引是步长):>>> books[0] 'Python' >>> books[5] 'matlab' >>> books[-1] 'matlab' >>> books[2:5:2] ['Java', 'C#'] >>> books[-3:] ['C', 'C#', 'matlab'] >>> books[:3] ['Python', 'C++', 'Java']
追加元素至末尾append()
list是一个可ad0a
变的有序表,所以,可以往list末尾追加新的对象
>>> books.append('Android') >>> books ['Python', 'C++', 'Java', 'C', 'C#', 'matlab', 'Android']
也可在指定位置赋值或分片赋值,赋值元素的长度、类型等都没有要求
>>>name = list("Pear") >>> name[1:] = list("ython")#不等长赋值 >>> name ['P', 'y', 't', 'h', 'o', 'n'] >>> name[1:1] = [1, 2, 3]#插入元素的另一种表达 >>> name ['P', '1', '2', '3', 'y', 't', 'h', 'o', 'n']
插入insert()和删除pop()
在指定位置插入>>> books.insert(1,'Labview') >>> books ['Python', 'Labview', 'C++', 'Java', 'C', 'C#', 'matlab', 'Android']
删除元素
pop()是有返回值的,返回弹出的元素
>>> books.pop() 'Android' >>> books ['Python', 'Labview', 'C++', 'Java', 'C', 'C#', 'matlab'] >>> books.pop(1) 'Labview' >>> books ['Python', 'C++', 'Java', 'C', 'C#', 'matlab']
寻找匹配值index()与移除remove()
从列表中找出某个值第一个匹配项的索引位置>>> books.index('Python') 0
移除列表中某个值的第一个匹配项
>>> books.remove('matlab') >>> books ['Python', 'C++', 'Java', 'C', 'C#']
其他
count()统计某个元素在列表>>> books.count("Java") 1
extend()在列表的末尾一次性追加另一个序列中的多个值
reverse()将列表中的元素反向存放
sort()原地排序
tuple
基本形式
tuple和list非常类似,但是tuple一旦初始化就不能修改,以()包裹逗号分隔,或简单以逗号分隔>>> (1,2,3) (1, 2, 3) >>> 1,2,3 (1, 2, 3) >>> 'Android','ios','Symbian' ('Android', 'ios', 'Symbian')
tuple的不变性
tuple没有append(),insert()这样的方法。其他获取元素的方法和list是一样的,你可以正常地使用tuple里的元素,但不能赋值成另外的元素。这样的意义在于,因为tuple不可变,所以代码更安全。如果可能,能用tuple代替list就尽量用tuple。
当你定义一个tuple时,在定义的时候,tuple的元素就必须被确定下来
*p.s.*tuple所谓的“不变”是说,tuple的每个元素,指向永远不变。即指向’a’,就不能改成指向’b’,指向一个list,就不能改成指向其他对象,但指向的这个list本身是可变的!
>>> t = ('a', 'b', ['A', 'B']) >>> t[2][0] = 'X' >>> t[2][1] = 'Y' >>> t[2][1] = 'Y' >>> t ('a', 'b', ['X', 'Y'])
只有一个元素的tuple
但是,要定义一个只有1个元素的tuple,不能这么定义:
>>> t = (1) >>> t 1
定义的不是tuple,是1这个数!这是因为括号()既可以表示tuple,又可以表示数学公式中的小括号,这就产生了歧义,因此,Python规定,这种情况下,按小括号进行计算,计算结果自然是1。
所以,只有1个元素的tuple定义时必须加一个逗号,,来消除歧义:
>>> t = (1,) >>> t (1,)
Python在显示只有1个元素的tuple时,也会加一个逗号,,以免误解
相关文章推荐
- Python学习随笔---Python基础三(list和tuple)
- Python3学习笔记(5)----python的list和tuple
- python学习-list tuple dist set
- python学习笔记(一)--之list与tuple
- Python学习<一> List与Tuple
- python学习(3)python基础、使用list和tuple
- Python学习三:list 和 tuple
- Python学习笔记-四类数据存储结构:list、tuple、dict以及set
- python 基本类型list、tuple、dict学习
- python的List,Tuple,Dict,Set简略学习。
- Python 学习笔记 - 6.List和Tuple
- 【Python】Java程序员学习Python(九)— 集合(list、tuple、range)和映射(dict)
- Python开发学习笔记(6) - List,Tuple
- Python学习一:list与tuple
- python语言学习9——使用list和tuple
- Python学习笔记(二)—列表(list)和数组(tuple)类型
- python学习笔记使用list和tuple
- Python 学习之list和Tuple类型
- python学习第二站--列表list、tuple
- python学习——list和tuple