使用Jython

时间:2015-11-17 02:33:04

标签: python

如果这个问题已经得到回答,我很抱歉,但是编程只用了一个月左右,我无法确定答案,因为它与我的具体情况有关。

我将从列表中获取切片,并且当我通过循环过程从此列表中获取切片时,我希望在每个循环过程中分配给切片的特定变量更改其名称,以便我可以随机从这些变量中选择。到目前为止,我一直无法凭借自己有限的知识想出一个改变这个变量名称的方法(即使像x1,x2,x3这样的东西也适合我)。

for i in range(30):
  z = 0
  measureList = [C4, D4, E4]
  z = len(measureList)
  a = measureList[x:x + z]
  x = x + z

1 个答案:

答案 0 :(得分:0)

如果我理解正确(这种可能性极小),您可以访问从随机索引开始到列表末尾的列表切片。

试试这个:

import random

my_list = [1, 2, 3, 4, 5]
n = len(my_list)

for _ in xrange(30):
  start = random.randint(1, n-2)
  a = my_list[start:]

<强>更新

  

我遇到的问题是,当我想存储这些创建的旋律(基本上是列表中的切片)时,通常静态变量将不断地覆盖在循环的上一轮传递中生成的旋律中包含的信息。

我假设&#34;静态变量&#34;你引用的是a。您可以将其存储在另一个列表中。这样你就可以在离开循环后访问它。

import random

my_list = [1, 2, 3, 4, 5]
n = len(my_list)
other_list = []

for _ in xrange(30):
  start = random.randint(1, n-2)
  a = my_list[start:]
  other_list.append(a)