首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > perl python >

Python基础教程札记——列表和元组

2012-09-10 
Python基础教程笔记——列表和元组2.5 成员资格说明:使用关键字 in 检查值是否在序列中。如果值在序列中返回

Python基础教程笔记——列表和元组

2.5 成员资格
    说明:使用关键字 in 检查值是否在序列中。如果值在序列中返回 “True”,否则返回“False”。值可以是元素也可以是子序列。例子:
#检查值是否在序列中>>> mystr="this is a string">>> 'this' in mystrTrue
2.6 长度,最大值,最小值
    说明:
      len :返回序列包含元素的数量;min :返回序列中的最小值;max :返回序列中的最大值;
#min,max和len的用法>>> data = [12,31,2,1,3,12,3,13,131234,12]>>> min(data)1>>> max(data)131234>>> len(data)10
3 列表:Python的“苦力”

?

3.1 list
    说明:可以将字符串或其他序列转换成列表。注意:list是类型,不是函数。例子:
>>> list("This is a test string")['T', 'h', 'i', 's', ' ', 'i', 's', ' ', 'a', ' ', 't', 'e', 's', 't', ' ', 's', 't', 'r', 'i', 'n', 'g']
3.2 基本列表操作
    说明:
      元素赋值:使用索引标记来为某个特定的,位置明确的元素赋值;元素删除:使用 del 语句;分片赋值:
        可以一次为多个元素赋值;原片与新片可以长度不同;分片赋值可以在指定位置插入新的元素;
    例子:
>>> mylist = [1,2,3,4,5]#列表元素赋值#索引必须在列表范围内>>> mylist[10] = 10Traceback (most recent call last):  File "<pyshell#2>", line 1, in <module>    mylist[10] = 10IndexError: list assignment index out of range>>> mylist[0] = 100>>> mylist[100, 2, 3, 4, 5]#删除元素>>> del(mylist[0])>>> mylist[2, 3, 4, 5]>>>#分片赋值>>> mystr = list("Nale Gunn")>>> mystr[0:4] = list("Bill")>>> mystr['B', 'i', 'l', 'l', ' ', 'G', 'u', 'n', 'n']#分片赋值时,原片与新片长度不同>>> mystr=list("Bill Gunn")>>> mystr[-5:] = list("gunn@gmail.com")>>> mystr['B', 'i', 'l', 'l', 'g', 'u', 'n', 'n', '@', 'g', 'm', 'a', 'i', 'l', '.', 'c', 'o', 'm']>>>#分片赋值可以在指定位置插入新的元素>>> mystr=list("Bill Gunn")>>> mystr[0:0] = list("My name is ")>>> mystr['M', 'y', ' ', 'n', 'a', 'm', 'e', ' ', 'i', 's', ' ', 'B', 'i', 'l', 'l', ' ', 'G', 'u', 'n', 'n']>>>
3.3 列表方法
    说明:
      append:用于在列表末尾追加一个新的元素;列表调用该方法后,直接被该 方法修改;count:用于统计某个元素在列表中出现的次数;extend:在列表的末尾一次性追加另一个列表中的多个元素,该方法 也是直接修改原列表,这也是与列表连接操作的区别;index:找出某个匹配项第一次出现的索引;insert:在列表中插入新的对象;pop:移除列表中的一个值(默认是最后一个),并返回该元素的值;remove:用于移除某个值在列表中的第一个匹配项;reverse:将列表中的值反向存放;sort:对列表进行排序;sorted内建函数:对序列进行反序,并返回一个列表
    注意:
      列表复制:用分片的方法复制比较有效率。
    例子:
#append>>> lst = list("Test")>>> lst.append(list("String"))>>> lst['T', 'e', 's', 't', ['S', 't', 'r', 'i', 'n', 'g']]>>> lst.append("String")>>> lst['T', 'e', 's', 't', ['S', 't', 'r', 'i', 'n', 'g'], 'String']>>> lst=list("Test")>>> lst.append("!")>>> lst['T', 'e', 's', 't', '!']#count>>> lst.count('T')1>>> lst.count('t')1#extend>>> lst.extend(list("HaHa"))>>> lst['T', 'e', 's', 't', '!', 'H', 'a', 'H', 'a']>>> lst.index('t')3>>> #pop>>> lst = [1,2,3]>>> lst.pop()3>>> lst[1, 2]>>> lst.pop(0)1>>> lst[2]>>> #pop>>> lst = [1,2,3]>>> lst.pop()3>>> lst[1, 2]>>> lst.pop(0)1>>> lst[2]#remove>>> lst=list("12345678")>>> lst['1', '2', '3', '4', '5', '6', '7', '8']#删除不存在的对象会报错>>> lst.remove(2)Traceback (most recent call last):  File "<pyshell#42>", line 1, in <module>    lst.remove(2)ValueError: list.remove(x): x not in list>>> lst.remove('2')>>> lst['1', '3', '4', '5', '6', '7', '8']#reverse>>> lst.reverse()>>> lst['8', '7', '6', '5', '4', '3', '1']#sort>>> lst.sort()>>> lst['1', '3', '4', '5', '6', '7', '8']>>> lst.sort(key=len)>>> lst['1', '3', '4', '5', '6', '7', '8']>>> lst = ['asdf','qwersf','aaf','s','afasfd','qre']>>> lst.sort(key=len)>>> lst['s', 'aaf', 'qre', 'asdf', 'qwersf', 'afasfd']>>> lst.sort(key=len,reverse=True)>>> lst['qwersf', 'afasfd', 'asdf', 'aaf', 'qre', 's']>>> #列表复制>>> x = list('123456')#下面的复制,只是让y也指向x指向的对象,所以修改x,也会影响y的值>>> y = x>>> x.reverse()>>> y['6', '5', '4', '3', '2', '1']#用分片的方法复制,x与y相互独立,修改x,不会影响y>>> y=x[:]>>> y.sort()>>> x['6', '5', '4', '3', '2', '1']>>> y['1', '2', '3', '4', '5', '6']>>> 
4 元组

?

4.1 元组定义:
    说明:元组不可以修改,一般用圆括号括起来例子:
#一般元组>>> 1,2,3(1, 2, 3)>>> (1,2,3)(1, 2, 3)#一个元素的元组>>> (1,)(1,)>>> 2,(2,)#空元组>>> ()()>>> #元组的乘法>>> 4* (2,)(2, 2, 2, 2)>>> 
4.2 tuple函数
    说明:以一个序列为参数,将其转换为元组;例子:
>>> tuple("CONSTANT")('C', 'O', 'N', 'S', 'T', 'A', 'N', 'T')>>> tuple(list("CONST"))('C', 'O', 'N', 'S', 'T')>>> 
4.3 元组的意义:
    元组可以在映射中当作键使用;元组作为很多内建函数和方法的返回值存在。

热点排行