(python)为什么这两种输出方式结果有差异?
发布网友
发布时间:2022-04-18 07:48
我来回答
共4个回答
热心网友
时间:2022-04-18 09:17
大家都太关注切片了,注意审题!
这题其实是python中元组设计问题。
元组中只包含一个元素时,需要在元素后面添加逗号tuple=(7,)
如果不加逗号,创建出来的就不是 tuple (元组),而是指 7 这个数了,这是因为括号 ()既可以表示 tuple,又可以表示数学公式中的小括号,这就产生了歧义,因此,Python 有了这样加逗号的规定。追问非常感谢您!!
热心网友
时间:2022-04-18 10:35
在python中
t[N:M] 是指切片从索引为N的元素到M-1的元素
t[N:M:a]是指在从索引为N的元素到M-1的元素的切片中,选取从索引值为N的元素依次索引值加a的元素。
对于t=[1,2,3,7,9,0,5]
print(t[ :-1:3]) 表示1,2,3,7,9,0中从1开始索引加3的对应元素。就是(1,7)
print(t[3:-1:3])表示7,9,0中从7开始索引加3的对应元素。就是(7,)
热心网友
时间:2022-04-18 12:10
t = (1,2,3,7,9,0,5)
print(t)
print(t[:-1:3]) # :-1去掉了5,:3跳步长3,只取到1,7。因为5去掉了。
print(t[3:-1:3]) #3:-1是(7,9,0),再:3就取超了只能返(7,),后3改4,5,6都一样。追问3:-1 和 :-1 这两种方式不都是把5去掉吗?
两种方式都是都必有一个过程是从7开始跳步长3到5,两个不都是去掉5导致的取值超范围吗?我想问的是为什么第二种多了一个逗号而第一个没有呢