簡體   English   中英

如何使用python使用嵌套for循環反轉列表及其字符串元素?

[英]how can i reverse a list as well as its string elements using python using nested for loops?

我已經嘗試如下,它可以使用列表理解來完成[也不需要使用內置函數和技術,如 [::-1] ],但是想使用如下嵌套的 for 循環來完成嗎?

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']

為了顛倒列表中元素的順序,可以使用reverse:

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 中列表推導式的信息

使用嵌套循環:

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

輸出:

['pmet', 'tset']

嘗試這個

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

您不需要嵌套循環:

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

輸出:

['pmet', 'tset']

您可以嘗試以下操作:

input_list = ['test', 'temp']
input_list.reverse()
print(list(map(lambda x: x[::-1], input_list)))
for i in range(len(l)):
    l[i] = l[i][::-1]
l = l[::-1]

您不需要嵌套循環來獲得所需的輸出。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM