python——列表

一、列表的作用

列表在Python中是一个任意类型对象位置的相关有序集合,它没有固定大小,根据数据量的不同可以动态变化。可以对列表中的数据进行赋值、修改、添加、删除等操作。与C\C++中一维数组类似,其索引index是从0开始的而不是从1开始的。可以对列表进行索引、切片、分割等操作。
列表的分割通过设置索引的头下标和尾下标实现[头下标:尾下标],这样就可以截取列表中对应范围内的数值。列表也有其特殊性,列表可以从左向右进行索引,索引号默认从’0’开始,列表也可以从右向左进行索引,最右侧索引号尾’-1’,不要忘记’-‘,这表明了列表的索引方向;列表也可以混合存储整型、浮点型和字符串等类型的数据。

二、列表的操作

Python标准库中提供了更多对列表进行操作的函数如:

1、list.len(): 求取列表中元素个数
2、list.append(x): 把元素x添加到列表的结尾
3、list.extend(L): 将一个给定列表中的所有元素都添加到另一个列表中
4、list.insert(i, x): 在指定位置i处插入一个元素x,需要注意的是元素会插入在原位置元素之前
5、list.remove(x): 删除列表中值为x的第一个元素,如果列表中没有这样的元素,就会返回一个错误。
6、list.pop([i]): 从列表的制定位置删除元素,并将其返回。如果没有指定索引,a.pop()返回的将是列表中最后一个元素,元素随即将从列表中删除(pop([i])中表示元素i是可选的,在实际使用中不需要添加[],在Python的文档中也常遇到这样的问题)
7、list.index(x): 返回列表中第一个值为x的元素的索引

#创建一个列表
list1 = [0,1,2,3,4,5,6,7,8,9]
#求列表的元素个数,并赋值给listLength
listLength = len(list1)
#向列表添加一个元素10
list1.append(10)
 #向list1列表中添加一个列表list2
list3 = ['a','b','c']
list1.extend(list2)
#在指定位置处插入一个元素
list1.insert(1,'abc')
#删除list1列表中的值为0的元素
list1.remove(0)
#删除list1列表中指定的位置元素
element = list1.pop()
#查找list1列表中值为5的位置下标
index = list1.index(5)
print('list1 = %s'%list1)
print('listLength = %s'%listLength)
print('element = %s'%element)
print('index =%s '%index)

运行结果:


三、双端队列(把列表当作队列使用)

双端队列(Double-ended queue 或称 deque)在需要按元素增加的顺序来移除元素时非常有用。collections 模块中的 deque 类型(它为在首尾两端快速插入和删除而设计)。双端队列通过可迭代对象(比如集合)创建,而且有些非常用用的方法

from collections import deque #首先从collections 模块中导入deque类
下来我们定义一个双端队列
1、 A=deque([]) #创建一个空的双队列
2、 A.append(n) #从右边像队列中增加元素 ,n表示增加的元素
3、 A.appendleft(n) #从左边像队列中增加元素,n表示增加的元素
4、 A.clear() #清空队列
5、 A.count(n) #在队列中统计元素的个数,n表示统计的元素
6、 A.extend(n) #从右边扩展队列,n表示扩展的队列
7、A.extendleft(n) #从左边扩展队列,n表示扩展的队列
8、 A.pop() #从队列的右边删除元素,并且返回删除值
9.、A.popleft() #从队列的左边删除元素,并且返回删除值
10、A.remove(n) #从队列中删除指定的值
11、A.reverse() #翻转队列
12、A.rotate(n) #旋转队列,默认时值为1,由右边开始旋转,负值代表左边旋转,n代表从队列的第一个元素开始,n从1开始计数

>>> from collections import deque
>>> q = deque(range(5))
>>> q.append(5)
>>> q.appendleft(6)
>>> q
deque([6, 0, 1, 2, 3, 4, 5])
>>> q.pop()
5
>>> q.popleft()
6
>>> q.rotate(3) #右移 3 次
19
>>> q
deque([2, 3, 4, 0, 1])
>>> q.rotate(-1) #左移一次
>>> q
deque([3, 4, 0, 1, 2])

双端队列好用的原因是它能有效地在开头(左侧)增加和弹出元素,这是在列表中
无法实现的。除此之外,它还能够有效地旋转(rotate)元素(也就是将它们左移或右
移,使头尾相连)。;

四、总结

1、list是一种可变的数据类型,跟整型和字串类型不一样,list中的数据可以在内存中进行修改,整型和字符串类型则不能修改。
2、列表操作无非分成增删改查四种类型操作,增:append()函数,expend()函数,insert()函数;删:remove()函数,pop()函数;改:可以通过下标的方式,对数据进行修改,如list1 = ['a','b','c'],list1[0] = 0,得到的结果为:list1 = [0,'b','c'];查:index()函数
3、append()函数添加元素时会追加到列表的末尾;使用remove()函数时,如果要删除的元素并不在列表中,会报错;pop()函数默认删除的是列表末尾的元素(即列表最后一个),返回值为删除的元素;index()函数查找时,返回要查找元素在列表中的位置下标,如果列表中不存在该元素,会报错。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 213,047评论 6 492
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,807评论 3 386
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 158,501评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,839评论 1 285
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,951评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,117评论 1 291
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,188评论 3 412
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,929评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,372评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,679评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,837评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,536评论 4 335
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,168评论 3 317
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,886评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,129评论 1 267
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,665评论 2 362
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,739评论 2 351

推荐阅读更多精彩内容