Python序列之list和tuple常用方法以及注意事项_python

sequence 序列

sequence(序列)是一组有顺序的对象的集合。序列可以包含一个或多个元素,也可以没有任何元素。

我们之前所说的基本数据类型,都可以作为序列的对象。对象还可以是另一个序列。序列有两种:list (表) 和 tuple(元组) 。
list和tuple的主要区别在于,一旦建立,tuple的各个元素不可再变更,而list的各个元素可以再变更。

List

获得list元素的个数:

复制代码 代码如下:

>>> lst=['更新慢','python',5.44,False]
>>> len(lst)
4

引用访问时索引是从0开始,注意不要越界:

复制代码 代码如下:

>>> lst[0]
'更新慢'
>>> lst[1]
'python'
>>> lst[2]
5.44
>>> lst[3]
False
>>> lst[4]
Traceback (most recent call last):
  File "<pyshell#30>", line 1, in <module>
    lst[4]
IndexError: list index out of range

用-1做索引,直接获取最后一个元素:

复制代码 代码如下:

>>> lst[-1]
False
>>> lst[-2]
5.44
>>> lst[-3]
'python'
>>> lst[-4]
'更新慢'
>>> lst[-5]
Traceback (most recent call last):
  File "<pyshell#35>", line 1, in <module>
    lst[-5]
IndexError: list index out of range

因为list是一个可变的有序表,所以,可以往list末尾追加元素:

复制代码 代码如下:

>>> lst.append('加我一个')
>>> lst
['更新慢', 'python', 5.44, False, '加我一个']

一次追加多个元素:

复制代码 代码如下:

>>> lst.extend(['A','B','C'])
>>> lst
['更新慢', 'python', 5.44, False, '加我一个', 'A', 'B', 'C']

要删除list末尾的元素,用pop()方法:

复制代码 代码如下:

>>> lst.pop()
'C'
>>> lst
['更新慢', 'python', 5.44, False, '加我一个', 'A', 'B']

删除指定位置的元素,用pop(i)方法,其中i是索引位置:

复制代码 代码如下:

>>> lst.pop(0)
'更新慢'
>>> lst
['python', 5.44, False, '加我一个', 'A']

list元素替换,可以直接赋值给对应的索引位置:

复制代码 代码如下:

>>> lst[-1]='100'
>>> lst
['python', 5.44, False, '加我一个', '100']

list元素也可以是另一个list,插入的那个list只算一个元素:

复制代码 代码如下:

>>> lst.append(lst1)
>>> lst
['python', 5.44, False, '加我一个', '100', ['666', 'QWER']]
>>> len(lst)
6

Tuple

Tuple一旦初始化就不能修改。字符串是一种特殊的元素,因此可以执行元组的相关操作。

复制代码 代码如下:

>>> str='该睡觉了,晚安!'
>>> print (str[:7])
该睡觉了,晚安

不可变的tuple意义就在于因为不可变,所以代码更安全。如果可能,能用tuple就尽量用tuple。

复制代码 代码如下:

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

定义一个空tuple:

复制代码 代码如下:

>>> tuple1=()
>>> tuple1
()

注意,要定义一个只有1个元素的tuple:

复制代码 代码如下:

>>> tuple2=(666,)
>>> tuple2
(666,)              #正确的
>>> tuple3=(666)
>>> tuple3
666                 #错误的,只定义了666这个数

注意:Tuple所谓的“不变”是说,tuple的每个元素,指向永远不变。

复制代码 代码如下:

>>> l=['CCTV-5','HI']
>>> tuple4=('UFO','HACK',l)
>>> tuple4
('UFO', 'HACK', ['CCTV-5', 'HI'])
>>> l[1]='我先变一下'
>>> tuple4
('UFO', 'HACK', ['CCTV-5', '我先变一下'])

所以尽量避免这种套用。

当日小结

掌握List和Tuple的常用方法以及注意事项。

时间: 2025-01-26 23:05:17

Python序列之list和tuple常用方法以及注意事项_python的相关文章

python 序列(list,tuple,str)基本操作

添加元素: mylist.append() mylist.extend([1, 2]) mylist.insert(1, "pos") 删除元素: mylist.remove(value) #del语句,并非函数 del mylist[pos] #del mylist #从内存中删除mylist,mylist不存在了 mylist.pop() #list利用栈,弹出 mylist.pop(pos) slice: >>> mylist[len(mylist)::-1]

Python序列的切片操作与技巧

序列 序列(consequence)是python中一种数据结构,这种数据结构根据索引来获取序列中的对象. python中含有六种内建序列类:list, tuple, string, unicode, buffer, xrange.其中xrange比较 特殊,它是一个生成器,其他几个类型具有的一些序列特性对它并不适合. 一般说来,具有序列结构的数据类型都可以使用:index, len, max, min, in, +, *, 切片.如: >>> a = 'Iloveyou' >&g

python的dict,set,list,tuple应用详解_python

本文深入剖析了python中dict,set,list,tuple应用及对应示例,有助于读者对其概念及原理的掌握.具体如下: 1.字典(dict) dict 用 {} 包围 dict.keys(),dict.values(),dict.items() hash(obj)返回obj的哈希值,如果返回表示可以作为dict的key del 或 dict.pop可以删除一个item,clear清除所有的内容 sorted(dict)可以把dict排序 dict.get()可以查找没存在的key,dict

Python入门(三)——list和tuple,条件判断和循环,dict和set

Python入门(三)--list和tuple,条件判断和循环,dict和set 好的,我们继续来学习python,这次我们讲容器,也就是list,我们可以这样表示 一.list student = ["zhangsan", "lisi", "wangwu"] print student print "长度为:",len(student) 这样我们可以看下输出的内容 我们可以看到打印的内容,以及他的长度是3,也就是有三个子集,

Python的time模块中的常用方法整理

  这篇文章主要介绍了Python的time模块中的常用方法整理,time模块是专门用于处理日期时间的模块,需要的朋友可以参考下 在应用程序的开发过程中,难免要跟日期.时间处理打交道.如:记录一个复杂算法的执行时间;网络通信中数据包的延迟等等.Python中提供了time, datetime calendar等模块来处理时间日期,今天对time模块中最常用的几个函数作一个介绍. time.time time.time()函数返回从1970年1月1日以来的秒数,这是一个浮点数. time.slee

Python合并两个字典的常用方法与效率比较

  本文实例讲述了Python合并两个字典的常用方法与效率比较.分享给大家供大家参考.具体分析如下: 下面的代码举例了5种合并两个字典的方法,并且做了个简单的性能测试 ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 #!/usr/bin/python import time def f1(d1, d2): return dic

Python序列操作之进阶篇_python

简介 Python 的序列(sequence)通常指一个可迭代的容器,容器中可以存放任意类型的元素.列表和元组这两种数据类型是最常被用到的序列,python内建序列有六种,除了刚刚有说过的两种类型之外,还有字符串.Unicode字符串.buffer对像和最后一种xrange对像,这几种都是不常使用的.本文讲解了列表推导式.切片命名.列表元素排序.列表元素分组的使用方法.学习了 Python 基本的列表操作后,学习这些进阶的操作,让我们写出的代码更加优雅简洁和 pythonic . 列表推导式 当

Python 序列的方法总结_python

      最近在做Python 的项目,特地整理了下 Python 序列的方法.序列sequence是python中最基本的数据结构,本文先对序列做一个简单的概括,之后简单讲解下所有序列都能通用的操作方法. 任何序列都可以引用其中的元素(item). 下面的内建函数(built-in function)可用于列表(表,定值表,字符串) #s为一个序列   len(s) 返回: 序列中包含元素的个数 min(s) 返回:序列中最小的元素 max(s) 返回:序列中最大的元素 all(s) 返回:

Python最基本的数据类型以及对元组的介绍_python

简单类型 内置到 Python 编程语言中的简单数据类型包括:     bool     int     float     complex 支持简单数据类型不是 Python 独有的功能,因为多数现代编程语言都具有完整类型补充.例如 Java? 语言甚至有一组更丰富的原始数据类型:     byte     short     int     long     float     double     char     boolean 但是,在 Python 中,简单数据类型并不是原始数据类型