+ 7
why does all these code lines print the same?
help me understand pls. https://code.sololearn.com/cRNoy5C1NaJV/?ref=app
3 ответов
+ 8
Please keep in mind that slicing can be a bit weired:
# 2. slice has descending order of start / stop and a therefor a negative step
print(I[1:3] + I[5:1:-1]) # res = [2, 3, 5, 4, 3]
# 2. slice has ascending order of start / stop and a positive step
print(I[1:3] + I[1:5:1]) # res = [2, 3, 2, 3, 4, 5]
+ 8
Try running this variant to your code, I think it will answer your question
# why does all these code print the same? #Run the program
I = list((1,2,3,4,5))
print(I[5:1])
I = list((1,2,3,4,5))
print(I[4:2])
I = list((1,2,3,4,5))
print(I[3:2])
I = list((1,2,3,4,5))
print(I[5:2])
# but, if the numbers(list indentations) go from low to high it works in normal known way.
I = list((1,2,3,4,5))
print(I[1:3] + I[3:5])
+ 6
If you want to go from higher to lower you have to specify the step in negative like that
I[5:3:-1]