Python的list是一个列表,用方括号包围,不同元素间用逗号分隔。

列表的数据项不需要具有相同的类型。(列表还可以嵌套,即列表中的列表)

每个元素都有一个索引(表示位置),从0开始;可以用索引-1表示最后一个元素,-2表示倒数第二个元素。

(1)获取列表长度,用len( ) 方法:

list1 = [ 1, 2 , 3, 4]
print( len(list1) ); # 4

(2)删除列表元素,用索引找列表元素:

list1 = [1,2,3,4,5,6,7,8,9,10]
del list1[2] # 或del list[2]
print(list1) # [1, 2, 4, 5, 6, 7, 8, 9, 10]
print(list1[1:-1]) # [2, 4, 5, 6, 7, 8, 9]

(3)迭代和遍历:

list1 = [ 1, 2 , 3, 4]
for x in list1:
print(x)

遍历 [start,end),间隔为 span,当 span>0 时顺序遍历, 当 span<0 时,逆着遍历。

start 不输入则默认为 0,end 不输入默认为长度。

list = [i for i in range(0,15)]
print(list) #[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14]
print(list[::2]) #[0, 2, 4, 6, 8, 10, 12, 14]

(4)加号和乘号:+ 号用于组合列表,* 号用于重复列表。也支持+=或*=运算符

list1 = [ 1, 2, 3, 4]
list2 = [ 5, 6, 7, 8]
list = list1 + list2
print(list); # [1,2,3,4,5,6,7,8]
print(list1*2); #[1,2,3,4,1,2,3,4]

(5)合并列表 (除了+外),还有append( )和extend( )方法,

注意区别,append( )是将列表整体作为一个元素加入,extend( )是把列表每个元素加入;

两者都会直接修改原列表list1数据

list1 = [ 1, 2, 3, 4]
list2 = [ 5, 6, 7, 8]
list1.append(list2)
print(list1) #[1, 2, 3, 4, [5, 6, 7, 8]] list1 = [ 1, 2, 3, 4]
list2 = [ 5, 6, 7, 8]
list1.extend(list2)
print(list1) #[1, 2, 3, 4, 5, 6, 7, 8]

还有一种插入列表的方法,叫切片,可以指定插入位置:

aList = [1,2,3,4]
bList = ['www', 'pythontab.com']
aList[1:1] = bList
print(aList) #[1, 'www', 'pythontab.com', 2, 3, 4]

(6)Python的以下函数可用于列表:

min(list) 求最大值
max(list) 求最小值
list(seq) 将元组转换为列表

(7)list的其他方法:

list.count(obj) 统计某个元素在列表中出现的次数
list.reverse() 反向列表中元素
list.index(obj) 从列表中找出某个值第一个匹配项的索引位置
list.insert(index, obj) 将对象按位置插入列表
list.pop([index=-1]) 移除列表中的一个元素(默认最后一个元素),并且返回该元素的值
list.remove(obj) 移除列表中某个值的第一个匹配项,在原列表上删除。
list.sort(key=None, reverse=False) 对原列表进行排序
list.clear() 清空列表
list.copy() 复制列表

(8)创建二维列表

例如,3行5列的二维列表

list_2d = [[col for col in range(5)] for row in range(3)]
print(list_2d) #[[0, 1, 2, 3, 4], [0, 1, 2, 3, 4], [0, 1, 2, 3, 4]]

(9)列表推导式:

例如:

squares = [x**2 for x in range(10)]

会生成[0, 1, 4, 9, 16, 25, 36, 49, 64, 81]的列表

(10) 列表的切片表示

形式是[ startIndex : endIndex : step ],索引为0或不写表示第一个元素,索引可以为-1表示最后一个元素,索引为end或不写表示最后一个元素加一,step为-1表示反向走。

结果中包含startIndex元素,不包含endIndex元素。

因此 list1[::-1]可以表示list1的反序。

特别的,list1[:]仍表示list1自己。

Python中的字符串也可以使用切片表示。

更详细的,可以参考Python官方文档

https://docs.python.org/zh-cn/3.7/tutorial/datastructures.html#list-comprehensions

Python中list列表的常见操作的更多相关文章

  1. Python中的文件和目录操作实现

    Python中的文件和目录操作实现 对于文件和目录的处理,虽然可以通过操作系统命令来完成,但是Python语言为了便于开发人员以编程的方式处理相关工作,提供了许多处理文件和目录的内置函数.重要的是,这 ...

  2. Python中json的简单读写操作

    Python中json的简单读写操作 JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式.它基于ECMAScript的一个子集. JSON采用完全独立于语言的 ...

  3. 简单谈谈Python中的几种常见的数据类型

    简单谈谈Python中的几种常见的数据类型 计算机顾名思义就是可以做数学计算的机器,因此,计算机程序理所当然地可以处理各种数值.但是,计算机能处理的远不止数值,还可以处理文本.图形.音频.视频.网页等 ...

  4. julia与python中的列表解析.jl

    julia与python中的列表解析.jl #=julia与python中的列表解析.jl 2016年3月16日 07:30:47 codegay julia是一门很年轻的科学计算语言 julia文档 ...

  5. python中的列表及numpy数组排序

    一.列表排序  # python中对列表排序有sort.sorted两种方法,其中sort是列表内置方法,其帮助文档如下:In [1]: help(sorted) Help on built-in f ...

  6. Python中的列表解析和生成器表达式

    Python中的列表解析和生成器表达式 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.列表解析案例 #!/usr/bin/env python #_*_coding:utf-8 ...

  7. Python中的列表生成式和多层表达式

    Python中的列表生成式和多层表达式 如何生成[1x1, 2x2, 3x3, ..., 10x10]的列表? L=[]; ,): L.append(x*x) print L print (" ...

  8. Python中的列表,元组,字符串之间的相互转化

    Python中的列表元组和字符串之间的相互转化需要利用,tuple(),list(),str(). 示例如下: >>> the_string = "hello I'am x ...

  9. Python中对列表排序实例

    Python中对列表排序实例 发布时间:2015-01-04 09:01:50 投稿:junjie 这篇文章主要介绍了Python中对列表排序实例,本文给出了9个List的排序实例,需要的朋友可以参考 ...

随机推荐

  1. kubernetes下kubelet无法启动

    错误如下: 09:58:45 kubernetes-node01 kubelet[6248]: F0124 09:58:45.902571 6248 server.go:265] failed to ...

  2. 关于2022年3月9日之后Typora登录不了--已解决

    p.s.今天是2022.7.27,软件版本:13.6.1 (以下所有方法,亲自尝试后整理出的) 报错信息: This beta version of typora is expired, please ...

  3. python 异常捕捉与异常处理

    简介 在实际开发中,为了防止异常界面直接被用户看到,往往我们会采用捕捉异常的方式来进一步处理异常. 异常捕捉 如下代码由于下标越界会导致异常 data = range(10) print(data[1 ...

  4. Minimax 社论

    目录 题面 题解 代码 Reference 题面 LOJ #2537 / 洛谷 P5298 「PKUWC2018」Minimax 一棵有根二叉树 \(\mathcal T\) . 定义结点 \(x\) ...

  5. JS基础小练习

    入职薪水10K,每年涨幅入职薪水的5%,50年后工资多少? var sum = 10000; console.log(sum * (1 + 0.05 * 50)); 为抵抗洪水,战士连续作战89小时, ...

  6. Apache DolphinScheduler 3.0.0 正式版发布!

    ​  点亮 ️ Star · 照亮开源之路 GitHub:https://github.com/apache/dolphinscheduler   ​ 版本发布 2022/8/10 2022 年 8 ...

  7. meterpreter后期攻击使用方法

    Meterpreter是Metasploit框架中的一个扩展模块,作为溢出成功以后的攻击载荷使用,攻击载荷在溢出攻击成功以后给我们返回一个控制通道.使用它作为攻击载荷能够获得目标系统的一个Meterp ...

  8. [题解]Balance

    1.题目 POJ-1837 2.题目大意 一个天平上有一些钩子,现在有一些砝码.给出每个钩子到原点(姑且这么叫吧)的距离(-15 ~ 15,负数代表在左边,正数相反)以及砝码的重量(1 ~ 20),求 ...

  9. 带你徒手完成基于MindSpore的CycleGAN实现

    摘要:CycleGAN图像翻译模型,由两个生成网络和两个判别网络组成,通过非成对的图片将某一类图片转换成另外一类图片,可用于风格迁移 本文分享自华为云社区<基于MindSpore的CycleGA ...

  10. Dynamic CRM使用FetchXML在js中查询与调用传递编码问题

    在页面交互脚本js中实现窗体交互逻辑是很常见的crm场景,一般情况下使用拓展工具RESTBuilder编辑器,可以很方便的进行操作,增删改查均能实现,但在某些较为特殊的场景下,需要根据条件去拼接查询过 ...