如何创建一个函数,在给定的字符串值列表中反转字符串,而不使用列表推导式



我有一个列表:

['Red', 'Green', 'Blue', 'White', 'Black']

,我希望它输出如下:

['deR', 'neerG', 'eulB', 'etihW', 'kcalB']

如果不使用列表推导式(如[x[::-1] for x in string_list]),如何做到这一点?我已经做了我自己的代码版本,但我必须手动添加新的变量,每次更多的键被添加到列表中。

OriginalLists=['Red', 'Green', 'Blue', 'White', 'Black']
strings1=''.join([str(item)for item in OriginalLists[0]])

strings2=''.join([str(item)for item in OriginalLists[1]])
strings3=''.join([str(item)for item in OriginalLists[2]])
strings4=''.join([str(item)for item in OriginalLists[3]])
strings5=''.join([str(item)for item in OriginalLists[4]])
a=(''.join(reversed(strings1)))
b=(''.join(reversed(strings2)))
c=(''.join(reversed(strings3)))
d=(''.join(reversed(strings4)))
e=(''.join(reversed(strings5)))
result=[a,b,c,d,e,f]
print(result)

我是一个编程新手,知道这个问题的答案对我的经验会很有帮助。

创建新列表

result = []

遍历原始列表

中的每个单词
for word in OriginalLists:

,并将反转的单词追加到结果列表

result.append(''.join(reversed(word)))

这是一个非常简单明了的方法:

OriginalLists=['Red', 'Green', 'Blue', 'White', 'Black']
for i in range(len(OriginalLists)):
OriginalLists[i] = OriginalLists[i][::-1]
print(OriginalLists)

我们只是遍历列表,反转每个字符串([::-1]),并打印出最终结果。

不使用loop:

var = ['Red', 'Green', 'Blue', 'White', 'Black']
result = list(map(lambda x : x[::-1],var))

我们应用lambda表达式对list的每个元素反转stribg。