2011-01-05 91 views
4

从python列表中选择5个不同元素并将它们添加到新列表中的最佳方式是什么?从列表中选择5个不同的元素?

感谢您的帮助!

+3

不同的值或不同的索引?按什么顺序 - 随机?你的问题现在非常广泛。 – 2011-01-05 06:30:06

回答

11

假设你希望他们随机选取的,并已经决定了new_list

import random 

new_list += random.sample(old_list, 5) 

如果new_list尚未定义,那么你可以做

new_list = random.sample(old_list, 5) 

如果你不想改变new_list,但想改为创建new_new_list,然后

new_new_list = new_list + random.sample(old_list, 5) 

现在引用new_list仍然可以访问没有五个新元素的列表,但new_new_list将引用包含五个元素的列表。

2

使用random.sample呼叫

import random 
random.sample(yourlist,5) 
+0

你有一个错字,但我修好了。 :) – 2011-01-05 06:26:29

1

您可能需要更具体,但返回从列表5个独特的元素,你可以简单地使用samplerandom module

import random 
num = 5 
aList = range(30) 
newList = [] 
newList+=random.sample(aList, num) 
1
>>> list = [1,3,6,3,2,5,7,4,7,8,9,4,3,2,4,6,7] 
>>> newlist = [] 
# Pick 5 and add to new list: 
>>> newlist.extend(list[:5]) 
>>> newlist 
[1, 3, 6, 3, 2]