Python洗牌列表子列表的内容

Python洗牌列表子列表的内容,python,list,random,shuffle,nested-lists,Python,List,Random,Shuffle,Nested Lists,我在python中有一个列表:l=[[1,2,3],[4,5,6],[7,8,9]],我想洗牌每个子列表。我怎样才能做到这一点 请注意,子列表的顺序应在其内容被洗牌时保留。这与前面的问题不同,例如,顺序是无序的,内容是保留的 我尝试了以下方法: import random x = [ [1,2,3], [4,5,6], [7,8,9] ] random.shuffle(x) # This shuffles the order of the sublists,

我在python中有一个列表:
l=[[1,2,3],[4,5,6],[7,8,9]]
,我想洗牌每个子列表。我怎样才能做到这一点

请注意,子列表的顺序应在其内容被洗牌时保留。这与前面的问题不同,例如,顺序是无序的,内容是保留的

我尝试了以下方法:

import random

x = [ [1,2,3], [4,5,6], [7,8,9] ]

random.shuffle(x) # This shuffles the order of the sublists,
                  # not the sublists themselves.

x = [ random.shuffle(sublist) for sublist in x ] # This returns None
                                                 # for each sublist.

print(x)    
您不需要第四行的“x=”

代码:

根据评论中的建议,这里有一个更新的版本:

import random
x = [ [1,2,3], [4,5,6], [7,8,9] ]
random.shuffle(x) 
for sublist in x:
    random.shuffle(sublist) 
print(x) 
您不需要第四行的“x=”

代码:

根据评论中的建议,这里有一个更新的版本:

import random
x = [ [1,2,3], [4,5,6], [7,8,9] ]
random.shuffle(x) 
for sublist in x:
    random.shuffle(sublist) 
print(x) 

shuffle
原地工作,不返回任何内容,因此请使用:

random.shuffle(x)
for i in x:
    random.shuffle(i)
print(x)

shuffle
原地工作,不返回任何内容,因此请使用:

random.shuffle(x)
for i in x:
    random.shuffle(i)
print(x)

您可以像这样尝试另一个名为sample的函数。我使用Python3.6

从随机导入* x=[x中i的样本(i,len(i))] 洗牌(x)


这很容易!虽然很容易解决,但您可以尝试其他函数。

您可以尝试另一个名为sample的函数,如下所示。我使用Python3.6

从随机导入* x=[x中i的样本(i,len(i))] 洗牌(x)


这很容易!虽然很容易解决,但你可以尝试另一个函数。

Duplicate[@sujittiwari:这根本不是这个问题的副本。@UbdusSamad:这是sujittiwari建议的完全相同的问题。这不是副本。我的道歉,看起来几乎一样。@Timpietzckerdupplicate[@sujittiwari:这根本不是这个问题的副本。@UbdusSamad:这是sujittiwari建议的完全相同的问题。这不是一个副本。我的道歉,看起来几乎是一样的。@TimPietzckerWhile这起作用时,仅仅因为副作用而使用列表理解是丑陋的。正确的
for
循环会更好。你完全正确。只删除2个字符是解决一篇帖子的一个很酷的技巧。:-)虽然这样做有效,但仅仅为了它的副作用而使用列表理解是很难看的。正确的
for
循环会更好。你完全正确。只删除2个字符是解决一篇帖子的一个很酷的技巧不过,您可以使用
shuffled(x)
返回列表而不是原地乱洗。@allo:shuffled从哪里来?它肯定不是Python内置的,也不是Python标准库的一部分。抱歉,乱洗确实不在标准库中,而是这里代码库的一部分。我非常习惯它,因为它类似于我所说的
排序的
ght是python标准。您可以使用
shuffled(x)
返回列表而不是原地乱洗。@allo:shuffled
从哪里来?它肯定不是Python内置的,也不是Python标准库的一部分。抱歉,乱洗确实不在标准库中,而是这里代码库的一部分。我非常习惯它,因为它类似于我所说的
排序的
它是python标准。