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

时间:2019-02-03 23:02:24

标签: python

我有一个列表:

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

3 个答案:

答案 0 :(得分:1)

在将其与原始子列表合并之前,您可以使用嵌套列表理解来遍历子列表并反转其中的子列表:

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

答案 1 :(得分: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']]]

答案 2 :(得分: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)

虽然打印报表是原始询问的附件,但我已将其包括在内,以便您验证有效的解决方案。