Q
置換列表
1
A
回答
1
要隨機播放列表中的理解每個子表,你不能使用random.shuffle
,因爲它工作正常。您可以使用random.sample
與樣品長度=列表的長度:
import random
A = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
new_a = [random.sample(l,len(l)) for l in A]
print(new_a)
輸出:
[[2, 1, 3], [5, 4, 6], [7, 9, 8]]
該解決方案是最好的,如果你不希望修改原始列表。否則,在循環中使用shuffle
,因爲其他人的回答也很好。
+0
謝謝。它運作良好。 –
4
你可以做這樣的事情:從itertools
import random
A = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
for x in A:
random.shuffle(x)
+0
謝謝。它真的幫助了我。 –
+0
@ yas.f請upvote或批准答案:) –
0
使用排列:
from itertools import permutations
A = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
out = []
for i in A:
for j in permutations(i):
out.append(list(j))
print out
OUTPUT:
[[1, 2, 3], [1, 3, 2], [2, 1, 3], [2, 3, 1], [3, 1, 2], [3, 2, 1],
[4, 5, 6], [4, 6, 5], [5, 4, 6], [5, 6, 4], [6, 4, 5], [6, 5, 4],
[7, 8, 9], [7, 9, 8], [8, 7, 9], [8, 9, 7], [9, 7, 8], [9, 8, 7]]
相關問題
- 1. SQL列置換
- 2. 行/列置換
- 3. 模板轉換/轉置表列 - >行
- 4. 斯卡拉交換位置列表
- 5. 組合的三個列表無置換
- 6. 轉換列表[列表[Int]]在斯卡拉設置[Int]
- 7. 轉換列表到「換位」列表
- 8. 替換列表列表
- 9. 轉換列表,列表
- 10. 設置置換陣列
- 11. 陣列排列置換
- 12. 轉換列表
- 13. 轉換列表
- 14. 變換列表
- 15. 轉換列表
- 16. 轉換列表
- 17. 轉置列表的列表
- 18. SQL錶行轉換爲列表列表
- 19. 轉換列表列表變爲表
- 20. 列表轉換/變換
- 21. 將列表中的列表替換爲列表中的列表
- 22. 將Sage列表列表轉換爲R列表列表
- 23. 如何將列表列表轉換爲列表列表?
- 24. 如何設置轉換爲字母表的symbles列表?
- 25. 變換陣列列表
- 26. 轉換列表陣列
- 27. 轉換隊列到列表
- 28. 轉換列表MVC
- 29. 轉換列表namedtuple
- 30. Groovy列表轉換
所以你只是想洗牌每個子列表? – timgeb
顯示預期的輸出 – RomanPerekhrest