相关疑难解决方法(0)

Python - 仅对列表中的某些元素进行洗牌

我试图将第3个列表中的元素洗牌到最后一个位置,所以前两个将始终保持原位,例如

list = ['a?','b','c','d','e']
Run Code Online (Sandbox Code Playgroud)

list = ['a?','b','d','e','c']
Run Code Online (Sandbox Code Playgroud)

由于某种原因,这不起作用:

list = ['a?','b','c','d','e']
import random
random.shuffle(list[2:])    
print list
Run Code Online (Sandbox Code Playgroud)

谁知道我做错了什么?

对我来说唯一有用的是迄今为止(EDITED):

lists = [['a?','b','c','d','e'],['1?','2','3','4','5','6','7']]
import random

for list in lists:
    copy = list[2:]
    random.shuffle(copy)
    list[2:] = copy

print lists
Run Code Online (Sandbox Code Playgroud)

认为这正是我所需要的.

python random shuffle list elements

7
推荐指数
5
解决办法
7019
查看次数

Java:在shuffle中排除数组索引

是否可以在shuffle中排除数组索引?

我对这个问题的见解:

   Array[0,1,2,3,4,5,6,7,8]
   Exclude Array index 2 and 7 in shuffle.
   Shuffle Array.
   Array[3,5,2,1,6,8,0,7,4]
Run Code Online (Sandbox Code Playgroud)

这是我在洗牌中使用的内容:

List<Pokemon>list = Arrays.asList(pkm);
Collections.shuffle(list);
Run Code Online (Sandbox Code Playgroud)

编辑:

谢谢,@ Jhanvi!我研究了你的代码,它给了我一些想法.我试着玩你和@Rohit Jain的代码并创建了一个样本:

import java.util.Arrays;

    import java.util.Collections;
    import java.util.List;
    import java.util.ArrayList;

public class Example {

 public static void main(String[]args){
    String[] x = {"a","b","c","d","e","f","g","h"};
    List<String> list = new ArrayList<String>(Arrays.asList(x));
    System.out.println("Before shuffling, ArrayList contains : " + list);
    Object obj = list.remove(7);
    Object obj1 = list.remove(2);
    Collections.shuffle(list);
    list.add(2, obj1);
    list.add(7, obj);
    System.out.println("After shuffling, ArrayList contains : " + list);        
 }     
}
Run Code Online (Sandbox Code Playgroud)

令人讨厌的是它给了我一个错误:在我的list.add()上找不到符号方法add(int,java.lang.Object). …

java collections arraylist

4
推荐指数
1
解决办法
1452
查看次数

标签 统计

arraylist ×1

collections ×1

elements ×1

java ×1

list ×1

python ×1

random ×1

shuffle ×1