首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Python列表/子列表选择-1怪异

Python列表/子列表选择-1怪异是指在Python中使用负数索引来选择列表或子列表的最后一个元素时,会出现一种奇怪的现象。

在Python中,可以使用正数索引和负数索引来访问列表中的元素。正数索引从0开始,表示列表中的第一个元素,负数索引从-1开始,表示列表中的最后一个元素。

当使用正数索引选择列表或子列表的最后一个元素时,可以直接使用索引值为-1。例如,对于列表my_list = [1, 2, 3, 4, 5],可以使用my_list[-1]来选择最后一个元素,结果为5。

然而,当使用负数索引选择子列表的最后一个元素时,会出现怪异的现象。例如,对于列表my_list = [1, 2, 3, 4, 5],如果要选择从第二个元素到最后一个元素的子列表,可以使用my_list[1:],结果为[2, 3, 4, 5]。但是,如果要选择子列表的最后一个元素,可以使用my_list[1:-1],结果却为[2, 3, 4],并没有包含最后一个元素5。

这种怪异的现象是由于Python的切片操作规则所导致的。在切片操作中,结束索引是不包含在结果中的。因此,当使用负数索引选择子列表时,需要注意结束索引的取值。如果要包含最后一个元素,可以使用my_list[1:]来选择子列表,或者使用my_list[1:len(my_list)]来明确指定结束索引。

总结起来,Python列表/子列表选择-1怪异是指在使用负数索引选择子列表时,结束索引不包含最后一个元素的现象。为了避免这种怪异,可以使用正数索引或明确指定结束索引的取值。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Python中基于匹配项的列表列表串联

正常我们在使用python爬虫时候,尤其在用python开发时,想要基于匹配项将列表串联成一个列表,我们可以使用列表推导式或循环来实现,这两种方法都可以根据匹配项将列表串联成一个列表。...请根据你的实际需求选择适合的方法。具体情况请看我下面分析。...1、问题背景给定一个列表列表,其中每个子列表代表一个对象,列表的第一个和第二个元素是对象的几何形状和名称,第三个元素是对象的z坐标,第四个元素是对象的键区域。...if len(sublists) == 1: merged_sublists.append(sublists[0]) # 如果键区域有多个子列表,则将这些列表合并成一个列表。...~:#>1', 'Aquitard 9', 1, '9', '', '', '', '', '', '', '', '', '', '', '']"基于匹配项的列表列表串联"指的是根据某些条件或标准将两个列表中的列表进行连接或组合

10810

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)的方法想要违和他的要求求出列表包括列表的数,他就会给你进行报错。...按照上述的操作我们无法将列表的值和列表的值进行对比,那么我们可以尝试着自己制作一个可以对比列表列表的值,这个方法特别简单,使用递归函数对每个值进行对比,包括列表的值。...= [4,1,3,11,[1,6,8],[[1,3],[6,15]]] list2 = [5,[5,7,9,2],3,[2,6,16],9] result1 = max_val(list1) result2

5.3K40

Python 列表操作指南1

Python 列表mylist = ["apple", "banana", "cherry"]列表用于在单个变量中存储多个项目。...列表Python 中的 4 种内置数据类型之一,用于存储数据集合,其他 3 种分别是元组(Tuple)、集合(Set)和字典(Dictionary),它们具有不同的特性和用途。...列表项具有索引,第一项的索引为0,第二项的索引为1,依此类推。有序:当我们说列表是有序时,意味着项目有一个定义的顺序,而且该顺序不会改变。...:# 字符串、整数和布尔数据类型list1 = ["apple", "banana", "cherry"]list2 = [1, 5, 7, 9, 3]list3 = [True, False, False...]列表可以包含不同的数据类型:# 包含字符串、整数和布尔值的列表list1 = ["abc", 34, True, 40, "male"]type() 函数,从 Python 的角度来看,列表被定义为具有数据类型

17220

用于查找列表总和的 Python 程序

在本文中,我们将学习一个 python 程序来查找列表的总和。...− 创建一个变量来存储输入列表。 创建两个单独的变量来存储开始索引和结束索引。 将变量 resultSum 初始化为 0,以存储列表的结果总和。...例 以下程序返回列表的总和,即使用 for 循环返回给定开始和结束索引的元素总和 − # input list inputList = [3, 5, 10, 5, 2, 3, 1, 20] print...例 以下程序返回列表的总和,即使用累积和方法返回给定开始和结束索引的元素总和 - # input list inputList = [3, 5, 10, 5, 2, 3, 1, 20] print("...然后可以使用 fsum() 函数计算子列表的总和。 python中的math.fsum()函数返回任何可迭代对象(如元组,数组,列表等)中所有项目的总和。

1.7K30

Python内置容器(1)——列表,元组

1.列表list     1.1定义和初始化 list # 定义个空列表 In [1]: li = [] In [2]: type(li) Out[2]: list # 初始化list,list 中的元素没有类型要求...,可以是任何类型 In [3]: li = [1,2,'a',['a',4]] In [4]: li Out[4]: [1, 2, 'a', ['a', 4]]     1.2列表的下标 python列表的下标是从...:2] Out[52]: ['a', 'a', 2]列表的切片操作是一个复制操作,并不对原始列表进行修改。...[20]: s Out[20]: {1, 2, 3, 4, 12}    3.3python根据集合中的每个元素的hash值来判断是否重复,所以集合中的每个元素必须是可hash的对象。...在python中如果一个对象有一个__hash__ 的方法, 表示该对象可hash. In [21]: 1.__hash__ # 整数1 的对象有该方法,但是__hash__ 方法不能直接调用。 1.

45910

python列表

列表,元组,字典,集合的概念 列表 列表是最常用的 Python 数据类型,它可以作为一个方括号内的逗号分隔值出现。...例如: a = [1,'2',456] 元组 Python 的元组与列表类似,不同之处在于元组的元素不能修改。 元组使用小括号 ( ),列表使用方括号 [ ]。...",swapList(List1)) 执行结果: 原来的列表是 [1, 2, 3, 4, 5] 元素对调后的列表 [5, 2, 3, 4, 1] 计算列表元素之和 定义数字列表,使用递归方法计算元素之和...Python list实现队列 代码演示 list1 = [] #向列表中插入元素 list1.insert(0,"语文") list1.insert(0,"数学") list1.insert(0,"英语...Python list实现栈 代码演示: #定义一个空 list 当做栈 list1 = [] list1.append("语文") list1.append("数学") list1.append("英语

2.1K60

Python——列表

列表python中最基础,最强大的数据结构之一。python列表可以容纳任何东西,其中的元素可以没有任何关系。python列表就像一个可以容纳万物的容器。...在Python 中,用方括号([])表示列表,并用逗号分隔其中的元素。...查找列表中的元素 python打印列表的时候,会将外面的方括号打印出来。既然列表是有序的,那么python肯定提供了有序访问的方式,那就是使用下标来进行索引。...python和大多数的计算机编程语言一样,索引是从0开始,而不是1。但是python列表提供了从尾部开始访问的方式,即使你不知列表有多长。python中可以使用下标-1来索引列表的最后一个元素。...前面的生成列表的代码还可以进一步简化,python提供了列表解析,可以一句话生成数值列表

1.9K10

Python列表

, 4, 2] [5, 1, 6, 9, 0, 3] [0, 3] 二、列表基本操作 1、修改列表 使用索引表示法给特定位置的元素赋值,不能给不存在的索引赋值 numbers=[5,1,6,9,0,3,4,2...) [] 3、copy 复制列表 常规的复制只是将另一个变量名指向了列表 numbers1=[5,1,6,9,0,3,4,2] numbers2=numbers1 numbers2[0]=500 print....count(numbers1[0])) print(numbers1.count(10)) 1 0 5、extend 将多个值追加到列表末尾,原列表被更改,看起来类似于列表的拼接,但有重要的区别,拼接是将修改被扩展的列表...,生成一个全新的列表,原列表不变 numbers1=[1,2,3] numbers2=[4,5,6] numbers=numbers1+numbers2 print(numbers1,numbers2,...3, 0, 9, 6, 1, 5] [5, 1, 6, 9, 0, 3, 4, 2, 0] 11、sort 列表升序排列,降序排列需要加上(reverse=True),改变了原列表;如果不想改变原列表

1.6K10

python列表

列表中的索引类似 C 语言中数组的访问索引,可以通过索引访问到每一个列表的元素,第一个元素的索引为 0,最后一个元素的索引可以使用 -1 进行标示,这一点与上一节中的字符串的索引完全相同。...(1, 'Ruby') >>> courses ['Java', 'Ruby', 'Linux', 'Python', 'Vim', 'C++', 'PHP'] 列表方法 count(s) 会返回列表元素中...我们来检查一下 Java 这个元素在列表中出现了多少次。 >>> courses.count('Java') 1 如果你想要在列表中移除任意指定值,你需要使用 remove() 方法。...: >>> courses ['Ruby', 'Linux', 'Python', 'Vim', 'C++', 'PHP'] >>> del courses[-1] >>> courses ['Ruby...Linux', 'Ruby','BigData', 'Cloud'] 给列表排序,我们使用列表的 sort() 方法,排序的前提是列表的元素是可比较的,例如数字是按照大小进行排序,而字符串则会选择按照字母表的顺序进行排序

2.1K21

python列表

本篇将介绍python中的列表,更多内容请参考:Python学习指南 一、序列 在python中有六种内建的序列:列表、元祖、字符串、Unicode字符串、buffer对象he xrange对象。...、删、改操作 Python内置的一种数据类型是列表:list是一种有序的集合,可以随时添加和删除其中的元素。...', 'c'] >>>list1.append(['1', '2']) >>>list1 ['a', 'b', 'c', ['1', '2']] extend()方法:使用extend()方法在列表尾部拼接另一个列表...= list1+list2 这种形式是通过两个列表重新创建了一个新的列表,而list1 += list2这种形式是在原有列表的基础上进行拼接操作。...,应该考虑列表解析 四、参考 关于 Python 列表操作,最常见问答Top10 Python对于列表的del, remove, pop操作的区别 python list(列表)操作用法总结

2.5K50

Python列表

对于只包含整数的列表Python还提供了另外的几种创建列表的方法: (1)range(n,m) 函数range返回一个整数列表列表从函数的第一个参数n开始,最后一个参数m结束,但不包含最后一个参数m...,相邻两数之间差值为1. >>> a = range(1,4) >>> print a [1, 2, 3] >>>   (2)range(n) 函数range产生从0开始的列表,到n-1结束(注意不包含给定的参数...起始值为n,结束值为m,步长为k >>> a = range(1,20,4) >>> print a [1, 5, 9, 13, 17] >>>   列表的一些方法 (1)append 方法 append... 'I', 'love', 'you'] >>>   (3)extend 方法 list1.extend(list2) 用于将两个列表合并,将list2列表的值添加到list1列表的后面 >>> list1...print t2.index(1) ValueError: 1 is not in list >>>   (5)remove 方法 remove(element) 用于从列表中移除所给的值,如果移除的值是个不存在的

1.3K20

扫码

添加站长 进交流群

领取专属 10元无门槛券

手把手带您无忧上云

扫码加入开发者社群

相关资讯

热门标签

活动推荐

    运营活动

    活动名称
    广告关闭
    领券