GVKun编程网logo

使用Python中的索引向后循环?(python for 索引)

8

本文将带您了解关于使用Python中的索引向后循环?的新内容,同时我们还将为您解释pythonfor索引的相关知识,另外,我们还将为您提供关于Python-在给定Python中包含项的列表的情况下查找

本文将带您了解关于使用Python中的索引向后循环?的新内容,同时我们还将为您解释python for 索引的相关知识,另外,我们还将为您提供关于Python-在给定Python中包含项的列表的情况下查找该项的索引、Python-访问“ for”循环中的索引?、python中的索引列表,用于一系列值、[python中对数据的索引汇总]的实用信息。

本文目录一览:

使用Python中的索引向后循环?(python for 索引)

使用Python中的索引向后循环?(python for 索引)

我正在尝试从100循环到0。如何在Python中执行此操作?

for i in range (100,0) 不起作用。

Python-在给定Python中包含项的列表的情况下查找该项的索引

Python-在给定Python中包含项的列表的情况下查找该项的索引

如何解决Python-在给定Python中包含项的列表的情况下查找该项的索引?

>>> ["foo", "bar", "baz"].index("bar")
1

参考:数据结构>列表中的更多内容

注意事项

请注意,虽然这也许是回答这个问题最彻底的方法是问,index是一个相当薄弱的组件listAPI,而我不记得我最后一次使用它的愤怒。在评论中已向我指出,由于此答案被大量引用,因此应使其更完整。有关list.index以下注意事项。可能值得一开始看看它的文档:

list.index(x[, start[, end]])

在值等于x的第一项的列表中返回从零开始的索引。ValueError如果没有此类项目,则引发a 。

可选参数start和end的解释与切片符号相同,用于将搜索限制为列表的特定子序列。返回的索引是相对于完整序列的开始而不是开始参数计算的。

列表长度的线性时间复杂度

一个index调用检查,以列表的每一个元素,直到它找到一个匹配。如果你的列表很长,并且你大概不知道它在列表中的哪个位置,则此搜索可能会成为瓶颈。在这种情况下,你应该考虑使用其他数据结构。请注意,如果你大致知道在哪里找到匹配项,则可以给出index提示。例如,在此代码段中,l.index(999_999, 999_990, 1_000_000)它比straight快大约五个数量级l.index(999_999),因为前者只需要搜索10个条目,而后者要搜索一百万个:

>>> import timeit
>>> timeit.timeit(''l.index(999_999)'', setup=''l = list(range(0, 1_000_000))'', number=1000)
9.356267921015387
>>> timeit.timeit(''l.index(999_999, 999_990, 1_000_000)'', setup=''l = list(range(0, 1_000_000))'', number=1000)
0.0004404920036904514

仅将第一个匹配项的索引返回到其参数

呼叫index顺序搜索列表,直到找到匹配项,然后在该处停止。如果你期望需要更多匹配项的索引,则应使用列表推导或生成器表达式。

>>> [1, 1].index(1)
0
>>> [i for i, e in enumerate([1, 2, 1]) if e == 1]
[0, 2]
>>> g = (i for i, e in enumerate([1, 2, 1]) if e == 1)
>>> next(g)
0
>>> next(g)
2

我曾经使用过的大多数地方index,现在我使用列表推导或生成器表达式,因为它们更具通用性。因此,如果你打算接触index,请看看这些出色的Python功能。

如果列表中没有元素,则抛出

如果没有该项index,ValueError则调用会导致。

>>> [1, 1].index(2)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ValueError: 2 is not in list

如果该项目可能不在列表中,则你应该

  1. 首先使用item in my_list(干净,可读的方法)进行检查,或者
  2. 将index呼叫包裹在一个try/except可以捕获的块中ValueError(可能更快,至少在要搜索的列表很长且通常存在项的情况下)。

解决方法

对于列表["foo","bar","baz"]和列表中的项目"bar",如何在Python中获取其索引(1)?

Python-访问“ for”循环中的索引?

Python-访问“ for”循环中的索引?

如何for在如下所示的循环中访问索引?

ints = [8, 23, 45, 12, 78]for i in ints:    print(''item #{} = {}''.format(???, i))

我想得到以下输出:

item #1 = 8item #2 = 23item #3 = 45item #4 = 12item #5 = 78

当我使用循环遍历它时for,如何访问循环索引(在这种情况下为15)?

答案1

小编典典

使用其他状态变量,例如索引变量(通常在CPHP等语言中使用),被认为是非Python的。

更好的选择是使用enumerate()Python 2和3中都提供的内置函数:

for idx, val in enumerate(ints):    print(idx, val)

python中的索引列表,用于一系列值

python中的索引列表,用于一系列值

据我所知,使用-1进行索引将为您提供列表中的最后一项,例如

list = 'ABCDEFG'
list[-1] 
'G'

但是当你要求列表中的序列时,-1给出列表中的倒数第二个项,

list[3:-1] 
'DEF'

为什么?我原以为,并想得到DEFG

解决方法

这是因为切片表示法的stop(second)参数是独占的,不包括在内.所以,[3:-1]告诉Python从索引3到索引-1,但不包括索引-1.

要得到你想要的,请使用[3:]:

>>> list = 'ABCDEFG'
>>> list[3:]
'DEFG'
>>>
>>> list[3:len(list)]  # This is equivalent to doing:  list[3:]
'DEFG'
>>>

此外,只是一个未来的注释:将列表用作变量名称被认为是一种不好的做法.这样做掩盖了built-in.

[python中对数据的索引汇总]

[python中对数据的索引汇总]

背景:在编写knn的算法时,寻找前k个距离中出现频率最大的类。次数-类型,统计numpy类型n[i]次数,返回n[i]中最大数对应的类型。需要找到其索引值index。
重点:list 和numpy 的操作不同。
numpy:

v = np.random.randn(10)
print(v)
maximum = np.max(v)
minimum = np.min(v)
print(maximum, minimum)

index_of_maximum = np.where(v == maximum)
index_of_minimum = np.where(v == minimum)

关于使用Python中的索引向后循环?python for 索引的介绍现已完结,谢谢您的耐心阅读,如果想了解更多关于Python-在给定Python中包含项的列表的情况下查找该项的索引、Python-访问“ for”循环中的索引?、python中的索引列表,用于一系列值、[python中对数据的索引汇总]的相关知识,请在本站寻找。

本文标签: