Это даст вам желаемый результат, предполагая, что вы начинаете со списка списков строк.
string_lists = [["abcd", "efgh", "ijkl"], ["mno", "pqr", "stuv"]]
for item in string_lists:
# get the first item
# use slicing to get items 1 to end, reverse with [::-1]
# use spread operator to spread inside of a new list
print([item[0], *item[1:][::-1]])
ВЫХОД:
['abcd', 'ijkl', 'efgh']
['mno', 'stuv', 'pqr']
Ресурс: Индексирование и нарезка Python
Если вы хотите распечатать табличные данные, как в вопросе, вы можете сделать это с помощью этого кода.
import textwrap
# Calculate the length of the longest string
COLSIZE = max(len(item) for items in string_lists for item in items)
# List of reordered lists
data = [[item[0], *item[1:][::-1]] for item in string_lists]
# Use str.ljust and textwrap wrap with joins to print tabular data
print(
"\n".join(
map(
" ".join,
(
[s.ljust(COLSIZE) for s in textwrap.wrap(" ".join(col), COLSIZE)]
for col in data
),
)
)
)
ВЫХОД:
abcd ijkl efgh
mno stuv pqr
Ресурс: textwrap