我有一个列表:
List = [[['1','2'],['2','4']],[['1','4'],['4','8']],[['53','8'],['8','2'],['2','82']]]
我想添加反向数据列出
成为:
[[['1','2'],['2','4'],['2','1'],['4','2']],[['1','4'],['4','8'],['4','1'],['8','4']],[['53','8'],['8','2'],['2','82'],['8','53'],['2','8'],['82','2']]]
你可以遍历列表,并在颠倒元素扩展它:
List = [[['1','2'],['2','4']],[['1','4'],['4','8']],[['53','8'],['8','2'],['2','82']]]
for sublist in List:
sublist.extend([pair[::-1] for pair in sublist])
最后,List
将是:
[[['1', '2'], ['2', '4'], ['2', '1'], ['4', '2']],
[['1', '4'], ['4', '8'], ['4', '1'], ['8', '4']],
[['53', '8'], ['8', '2'], ['2', '82'], ['8', '53'], ['2', '8'], ['82', '2']]]
您可以使用嵌套列表理解的是迭代子列表和内逆转子列表,与原来的子列表合并之前:
[l + [s[::-1] for s in l] for l in List]
虽然这个答案可能不是给我用的是超过序列反向迭代函数的原意答案的最Python的。这实现以简洁,可读性较强的风格你的目标,恕我直言。
我已经使用功能reversed()
的。该函数将返回根据原来的名单上反向顺序list_reverseiterator
对象。考虑到这返回的对象不是一个列表,我们可以使用list
类型变化的功能,例如:list(reversed(List))
,这将为您提供反向原始列表。于是,原来的候选人List
与新颠倒名单附以创建已要求所需的输出。
List = [[['1','2'],['2','4']],[['1','4'],['4','8']],[['53','8'],['8','2'],['2','82']]]
print("Here is the original list: ", List)
ListReverse = list(reversed(List))
List.append(ListReverse)
print("Here is your final list: ", List)
虽然打印语句是附属于原来的问,我已经包括了他们,你有工作的解决方案的验证。