我有一个列表:
['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。