list[-1:] returns 最后一个值,但不是 == 最后一个值?
list[-1:] returns last value, but is not == last value?
我对编码还是很陌生,因为我已经编码了几天了。我正在尝试通过从事一个小型个人项目来自学 python。我一直在玩列表切片,但有些东西不合我意,这阻碍了我试图实现的功能。
通过 shell(正确的术语?)我推断出:
>>> list1 = "hello"
>>> list2 = list(list1)
>>> list2[-1:]
>>> 'o'
>>> list2[-1:] == 'o'
>>> False
>>> list2[0]
>>> 'h'
>>> list2[0] == 'h'
>>> True
这是为什么?起初我想因为 list2 可能是由另一个列表定义的,所以它的最后一个索引不会是 list1 的 == 因为 list1 可以被重新定义?但是后来我尝试了第一个索引,现在我很困惑。
编辑:忽略下面的内容。在您的示例中,list2 是一个包含字符串 "hello" 作为元素的列表。这不同于字符串 "hello".
pythpm 中的列表语法是 [from:to:stepsize]
。
如果您省略其中任何一个,则其余部分将包含 "make sense" 的内容。例如,
list2[:3] == 'hel'
list2[1:] == 'ello'
list2[::-1] == 'olleh'
最后,如果其中没有任何冒号,则表示您正在访问单个元素。
list2[0] == 'h'
list2[-1] == 'o'
我猜你想表达的是
>>> list1 = 'hello'
>>> list1
'hello'
>>> list2 = list(list1)
>>> list2
['h', 'e', 'l', 'l', 'o']
在这种情况下,
>>> list2[-1]
'o'
>>> list2[-1:]
['o']
如您所见,list2[-1:]
returns 是一个列表,因此它不等于 'o'
。
我对编码还是很陌生,因为我已经编码了几天了。我正在尝试通过从事一个小型个人项目来自学 python。我一直在玩列表切片,但有些东西不合我意,这阻碍了我试图实现的功能。
通过 shell(正确的术语?)我推断出:
>>> list1 = "hello"
>>> list2 = list(list1)
>>> list2[-1:]
>>> 'o'
>>> list2[-1:] == 'o'
>>> False
>>> list2[0]
>>> 'h'
>>> list2[0] == 'h'
>>> True
这是为什么?起初我想因为 list2 可能是由另一个列表定义的,所以它的最后一个索引不会是 list1 的 == 因为 list1 可以被重新定义?但是后来我尝试了第一个索引,现在我很困惑。
编辑:忽略下面的内容。在您的示例中,list2 是一个包含字符串 "hello" 作为元素的列表。这不同于字符串 "hello".
pythpm 中的列表语法是 [from:to:stepsize]
。
如果您省略其中任何一个,则其余部分将包含 "make sense" 的内容。例如,
list2[:3] == 'hel'
list2[1:] == 'ello'
list2[::-1] == 'olleh'
最后,如果其中没有任何冒号,则表示您正在访问单个元素。
list2[0] == 'h'
list2[-1] == 'o'
我猜你想表达的是
>>> list1 = 'hello'
>>> list1
'hello'
>>> list2 = list(list1)
>>> list2
['h', 'e', 'l', 'l', 'o']
在这种情况下,
>>> list2[-1]
'o'
>>> list2[-1:]
['o']
如您所见,list2[-1:]
returns 是一个列表,因此它不等于 'o'
。