Python基础-列表及列表解析小结
admin
2023-07-31 00:37:01
0

列表及列表解析

发现要到2013了,这两个月,离职入职,忙七忙八的,博文少了好多,笔记到是一大堆。
最近开始整理书签,微博收藏以及笔记梳理
采用删的方式,就是在evernote中新建一片,然后捞对应的笔记,一点点总结梳理,删除原有的笔记,发现这样效率高些(原来是在原有笔记之上直接修改总结,发现有用的信息其实并不多,效率有点低)

相对而言比较全和有用,会持续优化。

2013,发完这个系列的博客之后,将会整个博客迁移到自己的博客(刚开始写…),后续将同步吧,不过csdn可能会慢一些,自己blog会更自由些。后续将会是python&框架,linux后台开发,Go等等其他。

不扯了,看正题
以下是对列表笔记梳理的第一个版本,仅供参考

资料来源于书籍,网络,个人练习等等


12345 #author:wklken#version: 1.0#date: 2012-12-30#history:  20121230  created

定义:

列表是Python中使用最频繁的数据类型【可以说没有之一】

关键词:有序,可变

12345 >一组有序项目的集合>可变的数据类型【可进行增删改查】>列表中可以包含任何数据类型,也可包含另一个列表【可任意组合嵌套】>列表是以方括号“ []”包围的数据集合,不同成员以“ ,”分隔>列表可通过序号访问其中成员

查看帮助 : help(list)

常见的列表操作

声明&创建

123456 l = []    #空列表l = [1, 2, 3, 4]l = [1, \’a\’, [2,3] ]l = list(\’hello\’)     #得到 [\’h\’, \’e\’, \’l\’, \’l\’, \’o\’]l = list(range(4))   #[0, 1, 2, 3]l = \’1,2,3,4,5\’.split(\’,\’)  #[\’1\’, \’2\’, \’3\’, \’4\’, \’5\’]

内建函数list(a_sequence) 可以将一个序列转为列表

通过下标访问

12 >>>l = [1, 2, 3, 4]>>>l[0]  #1

增加元素

A.新加入一个元素append

append方法添加。它在原列表末尾添加一个 item, item类型可以是任意的

123 l = [1, 2, 3]l.append(\’hello\’)   #得到 [1, 2, 3, \’hello\’]l.append([\’hello\’])   #得到 [1, 2, 3, \’hello\’, [\’hello\’]]

B.插入一个元素insert

12 l1 = [1, 2, 3]l1.insert(1,9)    #[1, 9, 2, 3]

C.两个列表相加
两种方式
第一种

12 l1 = [1, 2, 3]l3 = l1 + [4, 5, 6]  #这种方式,l1不变,二者返回新的列表,当列表很长时,会消耗大量内存

第二种(必须接收一个参数,且是另一个列表)

1 l1.extend([4, 5, 6])  #直接扩增l1

等价的做法

1 l1 += [4,5,6]


梳理:

s.append(x)

same as s[len(s):len(s)] = [x] 在列表尾部追加单个对象x。使用多个参数会引起异常。

s.extend(x)

same as s[len(s):len(s)] = x将列表L中的表项添加到列表中。返回None。

s.insert(i, x)

same as s[i:i] = [x] 在索引为i的元素前插入对象x。如list.insert(0,x)在第一项前插入对象。返回None。

删除元素

A.按item的索引或切片删除

123 l1 = [1, 2, 3, 4, 5, 6]del l1[0]   #得到[2, 3, 4, 5, 6]del l1[0:2]  #得到[4, 5, 6]

B.按item的值进行删除

12 l1 = [1,2,3,1,2]l1.remove(1)  #得到[2,3,1,2]

若是remove对应值查无,将跑ValueError

C.删除某个位置并返回该位置值

pop若是不传位置参数,默认删除列表最后一个元素

123 l1 = [1, 2, 3, 4, 5]a = l1.pop(1)   #a=2b = l1.pop()   #a=5

梳理:

s.pop([i])

same as x = s[i]; del s[i]; return x删除列表中索引为x的表项,并返回该表项的值。若未指定索引,pop返回列表最后一项。

s.remove(x)

same as del s[s.index(x)] 删除列表中匹配对象x的第一个元素。匹配元素时产生异常。返回None。

del s[i:j]

same as s[i:j] = []

修改元素

对指定索引进行赋值操作

A.某个元素

12 l1 = [1, 2, 3, 4]l1[0] = 0   #[0,2,3,4]

B.某一段元素

1234 l1= [1,2,3,4]l1[0:2] = [7,8,9]  #[7,8,9,3,4] l1[:] = []   #清空了

梳理:

s[i] = x

item i of s is replaced by x

s[i:j] = t

slice of s from i to j is replaced by the contents of the iterable t

5.切片和索引

A.索引l[i]

123 l1 = [1,2,3,4,5]l1[0]  #1l1[1]  #5,负数的索引从尾部开始计数,最后一个元素为-1

B.切片l[i:j:k]
i,j,k可选,冒号必须的 i不指定默认0,j不指定默认序列尾,k不指定默认1

12345678910 l1 =  [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11]l1[0:2]   #[1, 2],   取区间[i,j) ,左闭右开l1[:2]     #同上,可省略第一位l1[2:]     #[3, 4, 5, 6, 7, 8, 9, 10, 11]l1[2:1]   #[3, 4, 5, 6, 7, 8, 9, 10]l1[:]       #同l1,相当于复制一份 l1[::2]   #步长2,[1, 3, 5, 7, 9, 11]l1[0:7:2]  #[1, 3, 5, 7]l1[7:0:

相关内容

热门资讯

Mobi、epub格式电子书如... 在wps里全局设置里有一个文件关联,打开,勾选电子书文件选项就可以了。
定时清理删除C:\Progra... C:\Program Files (x86)下面很多scoped_dir开头的文件夹 写个批处理 定...
500 行 Python 代码... 语法分析器描述了一个句子的语法结构,用来帮助其他的应用进行推理。自然语言引入了很多意外的歧义,以我们...
scoped_dir32_70... 一台虚拟机C盘总是莫名奇妙的空间用完,导致很多软件没法再运行。经过仔细检查发现是C:\Program...
65536是2的几次方 计算2... 65536是2的16次方:65536=2⁶ 65536是256的2次方:65536=256 6553...
小程序支付时提示:appid和... [Q]小程序支付时提示:appid和mch_id不匹配 [A]小程序和微信支付没有进行关联,访问“小...
pycparser 是一个用... `pycparser` 是一个用 Python 编写的 C 语言解析器。它可以用来解析 C 代码并构...
微信小程序使用slider实现... 众所周知哈,微信小程序里面的音频播放是没有进度条的,但最近有个项目呢,客户要求音频要有进度条控制,所...
Apache Doris 2.... 亲爱的社区小伙伴们,我们很高兴地向大家宣布,Apache Doris 2.0.0 版本已于...
python清除字符串里非数字... 本文实例讲述了python清除字符串里非数字字符的方法。分享给大家供大家参考。具体如下: impor...