这是我在教学生时发现的Python怪异。
如果否定索引应该正常,那么对于字符串m ='string',我执行了以下步骤。
>>> m='string'
>>> m[:-1]
'strin'
>>> m[:0]
''
>>> m[-1]
'g'
>>> m[0:]
'string'
>>> m[:-1]
'strin'
>>> m[:0]
''
>>>
我想知道如何使用否定索引访问整个字符串?
答案 0 :(得分:7)
C:\Users\dinesh_pundkar\Desktop>python demo.Py
{'somethingelseelse': [' 1', '5', '6'], 'somethingelse': 'hello', 'something': [
' 1', ' 5', ' 8']}
正如积极指数从字符串的开头向前计数一样,负指数从结尾开始计数。因此,我们必须按public class User
{
String userName;
String Password;
int userStatus;
}
倒数才能回到>>> m='string'
>>> m[-len(m):]
'string'
的开头。
答案 1 :(得分:0)
我猜你实际上并不是指其他人建议的答案。你想知道的是为什么m[:-N]
返回 m 中的所有字符,除了最后的 N ,除非N为零,因为-0等于0,m[:0]
当然应该返回一个空字符串。
不幸的是,这是一种不可逾越的语言怪癖。
作为警告,我会提供:m[:None]
或m[:(None if N==0 else -N)]
。