Как я могу перевернуть список, а также его строковые элементы, используя python, используя вложенные циклы for? - PullRequest
0 голосов
/ 05 марта 2020

Я пробовал, как показано ниже, это можно сделать с помощью понимания списка [также без использования встроенных функций и методов, таких как [:: - 1]], но вы хотите сделать это, используя вложенные циклы, как показано ниже?

l=['temp','test']
l1=[]
for t in l:
  for i in t:
      l1.append(str(i[::-1]))
print(l1)

input: ['test','temp']
required output : ['pmet','tset']

Ответы [ 6 ]

4 голосов
/ 05 марта 2020

Чтобы изменить порядок элементов в списке, вы можете использовать реверс:

for i in reversed(array):
     print(i)

Или вы можете использовать array.reverse().

, чтобы повернуть все Строка, вы можете использовать [::-1], например:

txt = "Hello World"[::-1]
print(txt)

вывод:

dlroW olleH

Глядя на код, который вы добавили, вы можете сделать что-то вроде этого:

l=['temp','test']
reverse_l=[]
reverse_l = [item[::-1] for item in l] # This is list comprehensions, you can read about it in the link at the end of the answer
reverse_l.reverse()
print(l)
print(reverse_l)

вывод:

['temp', 'test']
['tset', 'pmet']

Решение без понимания списка:

l=['temp','test']
reverse_l=[]
for item in l:
    item = item[::-1]
    reverse_l.append(item)
reverse_l.reverse()
print(l)
print(reverse_l)

Вы можете найти информацию о списках пониманий в python здесь .

1 голос
/ 05 марта 2020

Использование вложенных циклов:

l=['temp','test']
print([''.join([w[i] for i in range(len(w)-1, -1, -1)]) for w in reversed(l)])

Вывод:

['pmet', 'tset']
0 голосов
/ 05 марта 2020
for i in range(len(l)):
    l[i] = l[i][::-1]
l = l[::-1]

вам не нужны вложенные циклы для желаемого результата, который вы дали.

0 голосов
/ 05 марта 2020

Вы можете попробовать следующее:

input_list = ['test', 'temp']
input_list.reverse()
print(list(map(lambda x: x[::-1], input_list)))
0 голосов
/ 05 марта 2020

Вам не нужен вложенный l oop:

l = ['temp', 'test']
l1 = [
    word[::-1]
    for word in l
]
print(l1)

вывод:

['pmet', 'tset']
0 голосов
/ 05 марта 2020

попробуйте

l=['temp','test']
l1=[]
for t in l:
  l1.append(t[::-1])
print(l1)
...