The difference is that the result of slicing the list is a list
x = [1, 2, 3]
print(x[-1])
print(x[-1:])
The second case is simply a list of one item, but it is still a list.
Note, however, that Python does not have a type charother than type str, and this means that both access and slicing elements on objects strreturn a different object str:
print("abcd"[-1])
print("abcd"[-1:])
, , s[-1:] s[:1] s[-1] s[0] , (- , )... :
if len(s) > 0 and s[0] == '*': ...
if s[:1] == '*': ...