gpt4 book ai didi

python - 从大字符串列表中创建新的字符串列表

转载 作者:行者123 更新时间:2023-12-01 16:38:20 25 4
gpt4 key购买 nike

假设我有一个字符串数组,其日期格式为 YYYYMMDD 格式。例如:

 masterlist = ['20190701', '20190702', ... '20190731'] 

假设我想创建一系列新的 3 个列表,长度分别为 xyz。对于此示例,我们可以简单地说 x = 20y = 10z = 1。格式是这样的,我想循环遍历 masterlist 中的所有元素以设置为 z。从这里开始,我想获取 20 个不包含 z 中的日期的随机日期,并将它们分配给 x。最后,不在 xz 中的日期将保留为 y。换句话说,任何列表都不应具有相同的日期。

例如:

z = ['20190701']
x = ['20190702', ... , '20190721']
y = ['20190722', ... , '20190731']

还有一个:

z = ['20190702']
x = ['20190701', '20190703', ..., '20190720']
y = ['20190722', ... , '20190731']

x 和/或 y 之间的顺序或随机混合并不重要,只要列表是互斥的并且总体上是详尽的。

实现这一目标的最简单方法是什么?

最佳答案

您可以使用集合来做到这一点(假设我的 z=1、x=2、y=1 和 masterlist=5)

import random
masterlist = ['20190701', '20190702', '20190703', '20190704', '20190705']
z = random.sample(masterlist, 1)
x = random.sample((set(masterlist) - set(z)), 2)
y = random.sample(((set(masterlist) - set(x)) - set(z)), 1)
# z ['20190702']
# x ['20190701', '20190705']
# y ['20190704']

这是找出集合之间的差异(它将返回第一组中第二组中没有的值),末尾的数字是样本大小。

关于python - 从大字符串列表中创建新的字符串列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59570007/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com