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列表切片和嵌套列表取值操作详解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们。

(0)

相关推荐

  • 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中遍历列表的方法总结

    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列表解析操作实例总结

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

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

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

  • 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中比较两个列表的实例方法

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

  • 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,不

  • Python处理键映射值操作详解

    目录 1. 问题背景 2. collections 概述 2.1 什么是collections 2.2 Collections 内部结构 2.3 collections 使用方法 3. defaultdict 方法 setdefault(),对字典key值赋默认值 defaultdict(),对字典进行查找取值 4. Counter 方法 总结 作为一个学完Python基础知识的测试,暗喜终于可以像RD们自己写脚本处理任何场景吧,如何优雅地写出来代码,接下来开启进阶版的Python. 本期浅谈一

  • 对numpy Array [: ,] 的取值方法详解

    NumPy数组是一个多维数组对象,称为ndarray 创建一个numpy数组,如下所示 import numpy as np x=np.array([[1,2,3],[4,5,6],[7,8,9]]) 使用的方法和python中的元表差不多 print(x[0:2]) >>>[[1 2 3] [4 5 6]] print(x[:]) >>>[[1 2 3] [4 5 6] [7 8 9]] #有些比较复杂逗号的用法,不一定需要掌握,知道是什么意思即可 #有时候希望只取某

  • 微信小程序中form 表单提交和取值实例详解

    微信小程序中form 表单提交和取值实例详解 我们知道,如果我们直接给 input 添加 bindinput,比如:<input bindinput="onUsernameInput" />,那么可以在 onUsernameInput 中直接使用 e.detail.value,即: onUsernameInput : function(e) { e.detail.value; } 但是,如果有多个输入控件,我们不可能为每个控件添加 bindinput.bindchange

  • 基于Python的Post请求数据爬取的方法详解

    为什么做这个 和同学聊天,他想爬取一个网站的post请求 观察 该网站的post请求参数有两种类型:(1)参数体放在了query中,即url拼接参数(2)body中要加入一个空的json对象,关于为什么要加入空的json对象,猜测原因为反爬虫.既有query参数又有空对象体的body参数是一件脑洞很大的事情. 一开始先在apizza网站 上了做了相关实验才发现上面这个规律的,并发现该网站的请求参数要为raw形式,要是直接写代码找规律不是一件容易的事情. 源码 import requests im

  • Django多层嵌套ManyToMany字段ORM操作详解

    在用django写项目时,遇到了许多场景,关于ORM操作获取数据的,但是不好描述出来,百度搜索关键词都不知道该怎么搜,导致一个人鼓捣了好久.这里细化下问题,还原场景,记录踩下的坑 首先先列举model,我举些生活中的例子,更方便理解问题 # 习题 class Problem(models.Model): desc = models.CharField() answer = models.TextField() is_pass = models.BooleanField(default=False

  • Python实现简单的文本相似度分析操作详解

    本文实例讲述了Python实现简单的文本相似度分析操作.分享给大家供大家参考,具体如下: 学习目标: 1.利用gensim包分析文档相似度 2.使用jieba进行中文分词 3.了解TF-IDF模型 环境: Python 3.6.0 |Anaconda 4.3.1 (64-bit) 工具: jupyter notebook 注:为了简化问题,本文没有剔除停用词"stop-word".实际应用中应该要剔除停用词. 首先引入分词API库jieba.文本相似度库gensim import ji

  • Python使用crontab模块设置和清除定时任务操作详解

    本文实例讲述了Python使用crontab模块设置和清除定时任务操作.分享给大家供大家参考,具体如下: centos7下安装Python的pip root用户使用yum install -y python-pip 时会报如下错误: No package python-pip available Error:Nothing to do 解决方法如下: 首先安装epel扩展源: yum -y install epel-release 更新完成之后,就可安装pip: yum -y install p

  • Python通过VGG16模型实现图像风格转换操作详解

    本文实例讲述了Python通过VGG16模型实现图像风格转换操作.分享给大家供大家参考,具体如下: 1.图像的风格转化 卷积网络每一层的激活值可以看作一个分类器,多个分类器组成了图像在这一层的抽象表示,而且层数越深,越抽象 内容特征:图片中存在的具体元素,图像输入到CNN后在某一层的激活值 风格特征:绘制图片元素的风格,各个内容之间的共性,图像在CNN网络某一层激活值之间的关联 风格转换:在一幅图片内容特征的基础上添加另一幅图片的风格特征从而生成一幅新的图片.在卷积模型训练中,通过输入固定的图片

  • python中with语句结合上下文管理器操作详解

    前言 所谓上下文管理器即在一个类中重写了__enter__方法和__exit__方法的类就可以成为上下文管理器类. 我们可以通过with语句结合上下文管理器简化一些操作. 使用with语句结合自定义上下文管理器完成数据库相应的操作,代码实现如下: # 1. 导入模块 import pymysql # 创建自定义上下文管理器对象 class MyDatabase(object): # 接收参数并创建数据库连接对象 def __init__(self, host, port, user, passw

随机推荐