Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/341.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_Json_List_Scripting_Devops - Fatal编程技术网

从两个匹配列表中随机选择[Python]

从两个匹配列表中随机选择[Python],python,json,list,scripting,devops,Python,Json,List,Scripting,Devops,我无法从代码中执行此场景。我必须在.ini文件中列出 [FMI] vendorCodes=["a", "b", "c", "d", "e"] supplierName=["Test 1", "Test 2", "Test 3", "Test 4", "Test 5" ] 我使用json.loads从.ini文件调用列表 vendorCodes = json.loads(config.get('Section1','vendorCodes')) supplierName = json.loads

我无法从代码中执行此场景。我必须在.ini文件中列出

[FMI]
vendorCodes=["a", "b", "c", "d", "e"]
supplierName=["Test 1", "Test 2", "Test 3", "Test 4", "Test 5" ]
我使用json.loads从
.ini
文件调用列表

vendorCodes = json.loads(config.get('Section1','vendorCodes'))
supplierName = json.loads(config.get('Section1','supplierName'))4
从列表中,将执行
random.choice
以拾取数据

vendorCodes, supplierName = random.choice(vendorCodes), random.choice(supplierName)
我还有一个函数,可以将其写入
.csv
文件

fmiwriter.writerow([poNumber] + [vendorCodes] + [supplierName])
问题是输出不正确。它应该从列表中匹配,如果来自供应商代码的随机选择是
a
,那么
供应商名称应该是
测试1

以下是不正确的输出:

588636,a,Test 3
332790,c,Test 2
810055,d,Test 4
655819,a,Test 3
159163,e,Test 1
预期输出应如下所示:

588636,a,Test 1
332790,c,Test 3
810055,d,Test 4
655819,a,Test 1
159163,e,Test 5

不要使用
选项
。改为选择一个整数索引,并使用该索引访问两个列表

import random
index = random.randrange(len(vendorCodes))
chosenVendorCode = vendorCodes[index]
chosenSupplierName = supplierName[index]

您可以
zip
随机选择这两个列表。选择
可依次选择一对:

chosenVendorCode, chosenSupplierName = random.choice(zip(vendorCodes, supplierName))

我懂了。使用索引要好得多。