python列表切片和嵌套列表取值操作详解

给出列表切片的格式:

[开头元素::步长] # 输出直到最后一个元素,(最后一个冒号和步长可以省略,下同)
[开头元素:结尾元素(不含):步长]
# 其中,-1表示list最后一个元素

首先来看最简单的单一列表:

a = [1,2,3,4]
a[:]
a[::]
a[:3]
a[1:3:2]
a[3]

输出依次为:

[1,2,3,4]
[1,2,3,4]
[1,2,3]
[2]
4

注意,这里只有最后一个输出是不带[]的,表明只有最后一个输出是元素,其他在切片中只用了:符号的输出均为list,不论是输出是只有一个元素还是多个元素.

下面考虑嵌套list的情况:

a = [[1,2],[3,4]]
a[:][0]
a[0][:]
a[:-1]
a[0][0]

对应输出依次为:

[1,2]
[1,2]
[[1,2]]
1

可以看到实际上每个[]相对于对对应层次的list进行操作,总体规则与单个list一致。

还有一个容易混淆的知识点:for in

>>> a = [[1,2],[3,4]]
>>> b = [x[1] for x in a]
>>> b
[2, 4]

这里的x是a中元素的集合,包括[1,2]和[3,4],所以x[1]即为集合中每一项的序号1元素。

以上这篇python列表切片和嵌套列表取值操作详解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们。

时间: 2020-02-26

Python列表解析操作实例总结

本文实例讲述了Python列表解析操作.分享给大家供大家参考,具体如下: 列表解析 Python 的强大特性之一是其对 list 的解析,它提供一种紧凑的方法,可以通过对 list 中的每个元素应用一个函数,从而将一个 list 映射为另一个 list. 列表解析,又叫列表推导式( list comprehension) 列表解析比 for 更精简,运行更快,特别是对于较大的数据集合 列表解析可以替代绝大多数需要用到 map和 filter的场合 列表推导式提供了一个创建链表的简单途径,无需使用

Python中遍历列表的方法总结

Python中遍历列表有以下几种方法: 一.for循环遍历 lists = ["m1", 1900, "m2", 2000] for item in lists: print(item) lists = ["m1", 1900, "m2", 2000] for item in lists: item = 0; print(lists) 运行结果: ['m1', 1900, 'm2', 2000] 二.while循环遍历: li

python实现列表的排序方法分享

这次代码主要是实现列表的排序,使用sort函数实现,sort函数是对列表中的元素按照特定顺序进行排序,默认reverse,为false,从小到大排序, 如果指定reverse=True,从大到小. 语法格式:l.sort(),希望对你们有所帮助 第一步:先打开我们的pycharm软件,然后新建一个python文件."file","new","python file" 第二步:新建好我们的python文件之后,在我们的编辑页面输入以下代码: l=[

python中比较两个列表的实例方法

cmp() 方法用于比较两个列表的元素. cmp()方法语法: cmp(list1, list2) 参数: list1 -- 比较的列表.list2 -- 比较的列表. 返回值: 如果比较的元素是同类型的,则比较其值,返回结果. 如果两个元素不是同一种类型,则检查它们是否是数字. 如果是数字,执行必要的数字强制类型转换,然后比较.如果有一方的元素是数字,则另一方的元素"大"(数字是"最小的")否则,通过类型名字的字母顺序进行比较. 如果有一个列表首先到达末尾,则另一

Python递归求出列表(包括列表中的子列表)的最大值实例

要求:求出列表中的所有值的最大数,包括列表中带有子列表的. 按照Python给出的内置函数(max)只能求出列表中的最大值,无法求出包括列表中的子列表的最大值 Python3代码如下: #!/usr/bin/env python3 # _*_ coding:UTF-8 _*_ list_tmp = [1,3,5,7,9,11] print(max(list_tmp)) 返回的结果为:11 按照Python3给出内置函数(max)的方法想要违和他的要求求出列表包括子列表的数,他就会给你进行报错.

Python递归实现打印多重列表代码

废话不多说,我直接上代码吧! # 递归方法打印多重列表 li = [1, [[2, [3]], [4], 5], 6, 7, [8], 9, 10] def print_li(li): for x in li: if type(x) == list: print_li(x) else: print(x) print_li(li) 建立打印函数print_li(li),用for循环判断列表中的每一项, 如果该项还是列表,则递归调用函数自身继续判断, 如果不是列表,则直接输出即可. 补充拓展:pyt

python实现矩阵打印

本文实例为大家分享了python实现矩阵打印的具体代码,供大家参考,具体内容如下 之前面试嵌入式软件的一道题,用c实现矩阵打印,考场上并没有写出来,之后总感觉自己写不出来也就没有去实现,在网上找也没能找到答案,结果这问题一直悬在脑海里.这才静下来想了想,发现并不难,便打算用python来实现,同时也是学习python之路的一个开始吧. print("Please input a number:",end='') num = int(input()) n = num*2 Matrix =

python递归打印某个目录的内容(实例讲解)

以下函数列出某个目录下(包括子目录)所有文件,本随笔重点不在于递归函数的实现,这是一个很简单的递归,重点在于熟悉Python 库os以及os.path一些函数的功能和用法. 1. os.listdir(path): 列出path下所有内容(包括文件和目录,不包括.和..) 2. os.path.join(path1,path2,path3...): 拼接目录,例如将'home','test'拼接成'home/test/' 3. os.path.isdir(path): 判断path是否为目录 代

python 使用递归实现打印一个数字的每一位示例

我就废话不多说了,直接上代码吧! def func(n): # 从高分为开始打印 lengh = len(str(n)) # 确定数字的长度 x = 10**(lengh-1) # 确定数字的分位 if n < 10: print(n) else: print(int(n/x)) func(n % x) # 对n的x分位取余得到 def func1(n): # 从低分位开始打印 if n < 10: print(n) else: print(n % 10) func(int(n / 10))

python 递归遍历文件夹,并打印满足条件的文件路径实例

题目:利用协程来遍历目录下,所有子文件及子文件夹下的文件是否含有某个字段值,并打印满足条件的文件的绝对路径. #!/user/bin/env python # -*- coding:utf-8 -*- #grep -rl "python" D:\devtools\workspace\python\aaa import os def init(func): def wrapper(*args,**kwargs): res=func(*args,**kwargs) res.send(Non

Python递归遍历列表及输出的实现方法

本文实例讲述了Python递归遍历列表及输出的实现方法.分享给大家供大家参考.具体实现方法如下: def dp(s): if isinstance(s,(int,str)): print(s) else: for item in s: dp(item) l=['jack',('tom',23),'rose',(14,55,67)] dp(l) 运行结果如下: jack tom 23 rose 14 55 67 希望本文所述对大家的Python程序设计有所帮助.

Python登录并获取CSDN博客所有文章列表代码实例

分析登录过程 这几天研究百度登录和贴吧签到,这百度果然是互联网巨头,一个登录过程都弄得复杂无比,简直有毒.我研究了好几天仍然没搞明白.所以还是先挑一个软柿子捏捏,就选择CSDN了. 过程很简单,我也不截图了.直接打开浏览器,然后打开Fiddler,然后登录CSDN.然后Fiddler显示浏览器向https://passport.csdn.net/account/login?ref=toolbar发送了一个POST请求,这个请求包含了登录表单,而且还是未加密的.当然CSDN本身还是使用了HTTPS

python获取命令行输入参数列表的实例代码

(一)单一独立的参数 如果命令行输入的参数都是各自单一独立的,直接用个循环把所有参数逐一读出来就行了.sys模块里面直接用args = sys.argv就可以获取到所有参数了(返回值args是一个list),args0]是执行的python文件路径名,args[1:]后面的才是真正命令行输入的参数,用个for循环就可以一一读取args列表,示例代码如下: import sys def usage(): print """ This is usage. This is usag

在Python中分别打印列表中的每一个元素方法

Python版本 3.0以上 分别打印列表中的元素有两种: 方法一 a = [1,2,3,4] print(*a,sep = '\n') #结果 1 2 3 4 方法二 a = [1,2,3,4] [print(i) for i in a] #结果 1 2 3 4 [None, None, None, None] 以上这篇在Python中分别打印列表中的每一个元素方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们.

python 扩展print打印文件路径和当前时间信息的实例代码

pinrt函数我们经常使用,但是有时候python自带的print函数打印的信息不够详细,我们可以扩展一下,打印更多的信息,例如程序文件绝对路径.当前日期时间.消息等等.这里我参考了ydf网友写的猴子补丁(monkey patch)法. # -*- coding: utf-8 -*- # @Author : ydf # @Time : 2019/5/9 19:02 """ 不直接给print打补丁,自己重新赋值. """ import sys i