【问题标题】:Append groups of random values to a list (Python)将随机值组附加到列表(Python)
【发布时间】:2018-03-07 09:42:52
【问题描述】:

我正在尝试生成一个值列表,这些值按照下面“参数”列表中显示的顺序附加另一个列表作为参数。

如何在 for 循环的每次迭代中将“参数”附加到带有随机值的“向量”?

例如将“参数”两次附加到“向量”的所需输出 [2、14000、120、1、12000、80]

def generate_vector(self):
      parameters = [lambda:random.randint(0, 3), lambda:random.randint(0, 400000), lambda:random.randint(0, 128)]
      vector = []
      path, dirs, files = os.walk("templ_list/").next()
      file_count = len(files)

      for file in files:
          vector.append(parameters)
      return vector,

【问题讨论】:

  • 请注意,参数是使用不同的函数解析到模板中的,并且根据目录中文件的数量,for 循环将循环 x 次,例如10 个文件 = 10 个循环

标签: python list random


【解决方案1】:

您可以为您的参数创建一个生成器并使用 sum 展平列表。

params_gen =  ((random.randint(0, 3), random.randint(0, 400000), random.randint(0, 128)) for _ in range(len(files)))
vector = sum(params_gen, ())

【讨论】:

  • 这正是我要找的 Pask。谢谢你的帮助伙计:)
  • params_gen 创建一个如下所示的数组:((1, 1000, 64), (3, 1200, 34)) sum 然后将添加元组,结果为:() + (1, 1000, 64) + (3, 1200, 34) = (1, 1000, 64, 3, 1200, 34)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2017-09-20
  • 1970-01-01
  • 2023-02-02
  • 2013-09-24
  • 1970-01-01
  • 2021-11-13
  • 1970-01-01
相关资源
最近更新 更多