Python [-1]和[0]在这里有什么用途?

Python [-1]和[0]在这里有什么用途?,python,split,Python,Split,我想知道[-1]和[0]在这里有什么用途。我在第一次拆分时也尝试了[1],但仍在使用 symbols = ["Wiki/ADBE.4", "Wiki/ALGN.4"] clean_symbols = [] for symbol in symbols: symbol = symbol.split("Wiki/")[-1].split(".4")[0] print(symbol) clean_symbols.append(symbol) print(clean_sym

我想知道[-1]和[0]在这里有什么用途。我在第一次拆分时也尝试了[1],但仍在使用

symbols = ["Wiki/ADBE.4", "Wiki/ALGN.4"]

clean_symbols = []

for symbol in symbols:

    symbol = symbol.split("Wiki/")[-1].split(".4")[0]
    print(symbol)
    clean_symbols.append(symbol)

print(clean_symbols)
谢谢

split创建一个列表。剩下的只是列表索引。负索引号从末尾开始计数,因此[-1]是第一次拆分创建的列表的最后一个元素。下一个[0]索引表示由第二次拆分创建的列表的第一个元素,就像它在几乎所有语言中所做的一样


由于[-1]和[1]的工作方式相同,这可能意味着您的列表正好有2个元素,因此其最后一个-1元素与第二个[1]元素相同。

对于第一次迭代,split返回我们对最后一个元素感兴趣的列表。因此[-1]

因此,第二次拆分返回一个列表,我们需要该列表的第一个元素,因此为[0]


它只是在列表中建立索引。让我们看看它是如何工作的:

>>> symbol = "Wiki/ADBE.4" # this happens in the for loop
>>> symbol.split("Wiki/")
['', 'ADBE.4']
我们在一个列表中有两项,由split创建。列表从0索引,因此1是第二项,-1是最后一项。在本例中,这是同一项,因此它适用于1和-1。但只有当您有一个包含两项的列表时,它才真正起作用:

>>> symbol.split("Wiki/")[-1]
'ADBE.4'
>>> symbol.split("Wiki/")[1]
'ADBE.4'
如果你有更多,结果就不一样了:

>>> x = ['first', 'second', 'third']
>>> x[-1]
'third'
>>> x[1]
'second'
然后我们得到的新字符串也会发生同样的事情。选择第一项的列表和索引:

>>> symbol.split("Wiki/")[-1].split(".4")
['ADBE', '']
>>> symbol.split("Wiki/")[-1].split(".4")[0]
'ADBE'

这就是所有的魔力。

可能重复@hellow:这不是切片,因为[-1]表示变量字符串/列表中的最后一个,[0]表示第一个。这不是副本@hellow。你看过副本了吗?这里回答了老年退休金计划的问题。如果你坚持的话,提供一个更好的副本。不,他是指代码在做什么@hellow
>>> x = ['first', 'second', 'third']
>>> x[-1]
'third'
>>> x[1]
'second'
>>> symbol.split("Wiki/")[-1].split(".4")
['ADBE', '']
>>> symbol.split("Wiki/")[-1].split(".4")[0]
'ADBE'