Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/355.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python将值从一个列表随机委托给另一个列表_Python - Fatal编程技术网

Python将值从一个列表随机委托给另一个列表

Python将值从一个列表随机委托给另一个列表,python,Python,我有两张单子 a_list = ['a', 'b', 'c'] b_list = ['1', '2', '3'] 将列表值从b_列表随机委托给新列表中的大元组的最佳方法是什么: c_list = [('a','1'), ('b','3'), ('c','1')] 洗牌列表和zip它们将完成您的工作 import random a_list = ['a', 'b', 'c'] b_list = ['1', '2', '3'] random.shuffle(a_list)

我有两张单子

  a_list = ['a', 'b', 'c']

  b_list = ['1', '2', '3']
将列表值从b_列表随机委托给新列表中的大元组的最佳方法是什么:

   c_list = [('a','1'), ('b','3'), ('c','1')]

洗牌列表和
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]

正如在您的输出中一样,我可以看到重复的值。使用下面的

不重复:

random.shuffle(b_list)
print zip(a_list, b_list)
print [ (i,random.choice(b_list)) for i in a_list ]
重复:

random.shuffle(b_list)
print zip(a_list, b_list)
print [ (i,random.choice(b_list)) for i in a_list ]
输出:

[('a', '3'), ('b', '1'), ('c', '3')]

我想这个问题会对你有所帮助:你没有使用b_列表中的
2
,这是预期的还是你想使用所有的值?听起来像是家庭作业,你有没有尝试过任何方法来解决这个问题?@Andy这是预期的,因为我希望它随机将b_列表中的值委托给a_列表。c_列表很可能是a1、b1、c1或a2、b2、c3等。