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的常用方法以及注意事项。

标签:
Python序列,list,tuple,常用方法,注意事项

免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com

《魔兽世界》大逃杀!60人新游玩模式《强袭风暴》3月21日上线

暴雪近日发布了《魔兽世界》10.2.6 更新内容,新游玩模式《强袭风暴》即将于3月21 日在亚服上线,届时玩家将前往阿拉希高地展开一场 60 人大逃杀对战。

艾泽拉斯的冒险者已经征服了艾泽拉斯的大地及遥远的彼岸。他们在对抗世界上最致命的敌人时展现出过人的手腕,并且成功阻止终结宇宙等级的威胁。当他们在为即将于《魔兽世界》资料片《地心之战》中来袭的萨拉塔斯势力做战斗准备时,他们还需要在熟悉的阿拉希高地面对一个全新的敌人──那就是彼此。在《巨龙崛起》10.2.6 更新的《强袭风暴》中,玩家将会进入一个全新的海盗主题大逃杀式限时活动,其中包含极高的风险和史诗级的奖励。

《强袭风暴》不是普通的战场,作为一个独立于主游戏之外的活动,玩家可以用大逃杀的风格来体验《魔兽世界》,不分职业、不分装备(除了你在赛局中捡到的),光是技巧和战略的强弱之分就能决定出谁才是能坚持到最后的赢家。本次活动将会开放单人和双人模式,玩家在加入海盗主题的预赛大厅区域前,可以从强袭风暴角色画面新增好友。游玩游戏将可以累计名望轨迹,《巨龙崛起》和《魔兽世界:巫妖王之怒 经典版》的玩家都可以获得奖励。