有什么不同?

时间:2019-09-08 16:05:33

标签: python list

我在做与列表相关的问题,偶然发现了这段代码

 l = [1,2,3,4,5]

 a = str(l)[1:-1]

 b = l[1:-1]

为什么变量a打印了整个列表?

3 个答案:

答案 0 :(得分:2)

当您在python中将列表转换为字符串时,它将返回带有括号“ []”的元素,因此

a = str(l)

将给出a ='[1、2、3、4、5] 并且当您获得从1st到-1st索引的子字符串时,它将为您提供所有没有括号的元素,因为您将它们截断了。

答案 1 :(得分:1)

str(list)返回列表[1, 2, 3, 4, 5]的可打印形式。

[1:-1]删除字符串的第一个和最后一个索引,即[]

因此变量a现在为1, 2, 3, 4, 5,它是一个字符串,而不是数字列表。

答案 2 :(得分:0)

因为它将列表l强制转换为字符串,然后删除了第一个和最后一个字符,即“ [”和“]”。