在列表的列表中洗牌

Shuffling pairs in lists of lists

给定列表列表如下:

aList = [["1","Number1", "2", "Number2","3","Number3", "4", "Number4"],["3","Number3", "1", "Number1","2","Number2", "4", "Number4"]]

我正在尝试打乱子列表中的每两个元素以获得类似这样的内容:

aListNew = [["3","Number3", "1", "Number1","4","Number4", "2", "Number2"],["2","Number2", "3", "Number3","1","Number1", "4", "Number4"]]

因此,重要的是两个连续的字符串在打乱时保持在一起。

有多种方法可以做到这一点。你没有给出任何你尝试过的东西或为什么它不起作用的迹象。尽管如此,由于这个问题尚未得到回答或关闭,这里有一些代码。请查看发帖指南,以便您以后的发帖会产生更多答案并减少被关闭的可能性。

import random

aList = [["1","Number1", "2", "Number2","3","Number3", "4", "Number4"],["3","Number3", "1", "Number1","2","Number2", "4", "Number4"]]
alist_alt = []

for sublist in aList:
    l = len(sublist)
    r = list(range(0, l ,2))
    random.shuffle(r)

    sublist_alt=[]
    for i in r:
        sublist_alt.append(sublist[i])
        sublist_alt.append(sublist[i+1])

    alist_alt.append(sublist_alt)

print(alist_alt)