如何在下面列表中添加数据?

问题描述 投票:-2回答:3

我有一个列表:

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']]]
python
3个回答
1
投票

你可以遍历列表,并在颠倒元素扩展它:

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

1
投票

您可以使用嵌套列表理解的是迭代子列表和内逆转子列表,与原来的子列表合并之前:

[l + [s[::-1] for s in l] for l in List]

0
投票

虽然这个答案可能不是给我用的是超过序列反向迭代函数的原意答案的最Python的。这实现以简洁,可读性较强的风格你的目标,恕我直言。

我已经使用功能reversed()的。该函数将返回根据原来的名单上反向顺序list_reverseiterator对象。考虑到这返回的对象不是一个列表,我们可以使用list类型变化的功能,例如:list(reversed(List)),这将为您提供反向原始列表。于是,原来的候选人List与新颠倒名单附以创建已要求所需的输出。

Source 1 Source 2

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)

虽然打印语句是附属于原来的问,我已经包括了他们,你有工作的解决方案的验证。

© www.soinside.com 2019 - 2024. All rights reserved.