我有两个列表
a_list = ['a', 'b', 'c']
b_list = ['1', '2', '3']
将列表值从b_list随机委派给新列表中的大元组的最佳方法是什么:
c_list = [('a','1'), ('b','3'), ('c','1')]
答案 0 :(得分:5)
$(document).ready(function () {
$('[class^=field-validation]').each(function () {
var id = "val" + $(this).attr("data-valmsg-for");
$(this).attr("id", id);
});
});
<强>输出:强>
import random
a_list = ['a', 'b', 'c']
b_list = ['1', '2', '3']
print [(a,random.choice(b_list)) for a in a_list]
答案 1 :(得分:4)
对列表进行混洗,然后zip
将完成工作。
import random
a_list = ['a', 'b', 'c']
b_list = ['1', '2', '3']
random.shuffle(a_list)
random.shuffle(b_list)
c_list = zip(a_list, b_list)
或者,如果您不想要一对一的映射,那么您也可以使用:
import random
a_list = ['a', 'b', 'c']
b_list = ['1', '2', '3']
c_list = [(i, random.choice(b_list)) for i in a_list]
答案 2 :(得分:1)
在输出中,我可以看到重复的值。使用下面。
不重复:
PREREQUISITEstring
重复:
random.shuffle(b_list)
print zip(a_list, b_list)
答案 3 :(得分:1)
import random
from functools import partial
a_list = ['a', 'b', 'c']
b_list = ['1', '2', '3']
r= partial(random.choice,b_list)
list(zip(a_list,[r(),r(),r()]))
[('a', '1'), ('b', '2'), ('c', '2')]