Ger*_*eni 5 python list offset
我知道索引函数的工作方式如下:
list = ['dog','cat','pizza','trump', 'computer', 'trump']
print list.index('trump')
Run Code Online (Sandbox Code Playgroud)
输出将是3.但现在我希望他打印另一个'特朗普'字符串,它来自2个对象.但如果我会做同样的命令:
print list.index('trump')
Run Code Online (Sandbox Code Playgroud)
他将再次打印3 - 他看到的第一个特朗普.那么如何移动索引函数的'offset',所以她会在索引5中检测到另一个特朗普?非常感谢你们!
list.index 采取第二个开始论点:
>>> lst = ['dog','cat','pizza','trump', 'computer', 'trump']
>>> lst.index('trump') # 1st index
3
>>> lst.index('trump',4) # 2nd index
5
>>> lst.index('trump',lst.index('trump')+1) # 2nd index
5
Run Code Online (Sandbox Code Playgroud)
或者,如果您想要所有索引,请使用列表推导:
>>> [idx for idx,item in enumerate(lst) if item == 'trump']
[3, 5]
Run Code Online (Sandbox Code Playgroud)
只需记下字符串出现的第一个索引,并将额外参数传递给index第二个:
l = ['dog','cat','pizza','trump', 'computer', 'trump']
i = l.index("trump")
print(i)
print(l.index("trump",i+1))
Run Code Online (Sandbox Code Playgroud)
我明白了:
3
5
Run Code Online (Sandbox Code Playgroud)
从内联文档中,您可以传递可选的开始和结束值:
指数(...)
L.index(value,[start,[stop]]) - > integer - 返回第一个值的索引.如果值不存在,则引发ValueError.
(在一般情况下,如果值不在列表中并且相应地采取行动,则必须index通过try/except ValueError块来保护您的呼叫)
请注意,start可以是否定的.如果为负数,则从列表末尾计算索引.
创建列表的缩短版本。
list=['dog','cat','pizza','trump', 'computer', 'trump']
print list.index('trump')
list = list[list.index('trump')+1:]
print list.index('trump')
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1345 次 |
| 最近记录: |