Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/list/4.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_List_Random - Fatal编程技术网

Python 如何以两个值应该彼此相邻的方式获取新的随机列表?

Python 如何以两个值应该彼此相邻的方式获取新的随机列表?,python,list,random,Python,List,Random,python列表理解,一个很好的例子。让我们开始复制粘贴,将列表分成对或“列表列表列表”,结果将被洗牌,并向后平铺: 1) 你的职位 data = ['New York', 'TRUE', 'Thimphu', 'FALSE', 'Tokyo', 'FALSE', 'Japan', 'FALSE', 'India', 'FALSE'] (二) 3) shuffle处于random import random random.shuffle(chunks) (四) 结合起来: data = ['

python列表理解,一个很好的例子。

让我们开始复制粘贴,将列表分成对或“列表列表列表”,结果将被洗牌,并向后平铺:

1) 你的职位

data = ['New York', 'TRUE', 'Thimphu', 'FALSE', 'Tokyo', 'FALSE', 'Japan', 'FALSE', 'India', 'FALSE']
(二)

3)
shuffle
处于
random

import random
random.shuffle(chunks)
(四)

结合起来:

data = ['New York', 'TRUE', 'Thimphu', 'FALSE', 'Tokyo', 'FALSE', 'Japan', 'FALSE', 'India', 'FALSE']
chunks = [data[x:x+2] for x in range(0, len(data), 2)]
import random
random.shuffle(chunks)
flat_list = [item for sublist in chunks for item in sublist]
print(flat_list)
将列表转换为字典,然后对字典项使用随机方法,然后将其平铺到列表中


在这个random.sample中,它可以对给定大小的输入进行采样,但不太清楚您想要做什么。你的洗牌名单必须有城市名称后跟真/假,还是全部洗牌?如果您只关心纽约和true,为什么不在新列表中选择纽约的一个邻居,并将其替换为该列表中的一个true值呢?据我所知,您的数据结构没有反映数据的语义。您应该使用“对”列表(例如元组或列表,如果您希望它们是可修改的)。然后,如果您的界面需要您提供的数据格式,您可以将其展平。
flat_list = [item for sublist in chunks for item in sublist]
data = ['New York', 'TRUE', 'Thimphu', 'FALSE', 'Tokyo', 'FALSE', 'Japan', 'FALSE', 'India', 'FALSE']
chunks = [data[x:x+2] for x in range(0, len(data), 2)]
import random
random.shuffle(chunks)
flat_list = [item for sublist in chunks for item in sublist]
print(flat_list)
import random
size = 2
country_list = ['New York', 'TRUE', 'Thimphu', 'FALSE', 'Tokyo', 'FALSE', 'Japan', 'FALSE', 'India', 'FALSE']
country_dict = {}
for i in range(0, len(country_list), 2):
    country_dict[country_list[i]] = country_list[i + 1]
random_sample = random.sample(country_dict.items(), size)
final_list = [item for l in random_sample for item in l]
print(final_list)