本文作者:念宗

列表(List)

念宗 7年前 ( 2017-11-20 ) 3627 抢沙发
摘要: 定义:列表是一组有序的集合对象类型,可以是字符、数字、字符串甚至其他列表。之所以有序,是因为列表是通过数字下标进行索引的    names...

定义:列表是一组有序的集合对象类型,可以是字符、数字、字符串甚至其他列表。之所以有序,是因为列表是通过数字下标进行索引的

    names =  ['old_driver','rain','jack','shanshan','peiqi','black_girl']

    嵌套列表:  names =  ['mark',[1,2,3],'jack','shanshan','peiqi','black_girl']

列表常量和操作

操作说明
读取元素

names[i];

names[i][j]: 子列表中的元素读取

names[i:j:k]:k代表步长,默认步长是1,所以一般不写

 步长step概念:简单说就是每隔k-1个元素取一次,用数学方

式进行表达,依次取对象names[i+ak],其中a为(0,1,2...n),并且i+ak<j;


索引

names.index(obj)


修改names[i] = ['new obj']

 注意:列表元素不能赋值,只能添加or修改。修改已存在的索引,不存在的索引将报错。

(与字典不同,字典若key不存在则等同于添加)

插入(某个元素前插入)names.insert(i,new obj)
插入(列表最后插入)

names.append(obj)

names.extend(sequence)

 注意两者区别,append是在列表最后添加新对象(数字或者字符)或者子列表;

 extend添加单个对象时必须是string格式(得用引号),不能添加数字.如果是列表则等同

于合并的效果,而不是添加子列表。

插入子列表names.insert(i,['new obj1','new obj2'])
分片names[i:j]下标范围[i:j),也即[i:j-1],‘顾头不顾尾’

指定步长取元素,规则是[开始下标:结束下标:步长],包含边界元素

1.如果没有指定开始值,则默认为0;如果不指定结束元素表示取列表的最后一个元素;如果没有指定步长值,则默认值为1

2.开始结束步长这三个值都是可选的,留空即可.不选则代表选择默认值

3.对于切片时的边界元素,则是符合"顾头不顾尾","虎头蛇尾","烂尾"

合并

names = names + names2

names = names2 + names

names2列表合并后赋值给names列表(相当于names的对

象追加到了names后面),注意左边两种写法合并之后的对象顺序是不一样的

重复names * 2  重复列表中的对象
names.sort()列表排序,列表中的对象必须是同一数据类型
删除

 names.remove(obj)

 del names[i];del names[i:j]

 names.pop() 

如果有重复的对象,只删除匹配到的第一个对象元素

names.pop():删除并返回最后一个对象 ;names.pop(1):删除并返回对应索引的对象


 names.count(obj) 统计列表中相同对象的个数
 names.reverse() 翻转列表顺序
列表长度len(names)
清空列表

names.clear()

del names[:]

del names

clear()函数效果与del names[:]相同,都是清空元素。不同的是第三个del names

等于删除列表定义,此列表将不存在

列表元素去重

names = list(set(names))

names.sort()

利用集合set特性,分两步即可.



文章版权及转载声明:

作者:念宗本文地址:http://pyops.net/?id=15发布于 7年前 ( 2017-11-20 )
文章转载或复制请以超链接形式并注明出处运维之道

分享到: 网站分享代码

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏

发表评论

快捷回复:

验证码

评论列表 (暂无评论,3627人围观)参与讨论

还没有评论,来说两句吧...