Если вы хотите новый список:
a = ["Python", "Java", "Microsoft"]
b = a[::-1]
# b is now ["Microsoft", "Java", "Python"]
или
a = ["Python", "Java", "Microsoft"]
b = list(reversed(a))
# b is now ["Microsoft", "Java", "Python"]
Если вы хотите изменить существующий список:
a = ["Python", "Java", "Microsoft"]
a.reverse()
# a is now ["Microsoft", "Java", "Python"]
Если вы хотите список, в котором каждая строка имеет свои символы в обратном порядке:
a = ["Python", "Java", "Microsoft"]
b = [x[::-1] for x in a]
# b is now ["nohtyP", "avaJ", "tfosorciM"]
Причина, по которой при использовании записи среза с a[::-1]
возвращается последовательность, обратная a
, заключается в том, что запись среза работает следующим образом:
sequence[start:end:step]
, так как вы указываете step
как -1, это означает, что он работает в обратном порядке через последовательность один за другим, что в действительности является противоположностью последовательности. (start
и end
, будучи опущенными, используют их значения по умолчанию, то есть всю последовательность.)