2

我想分配一个变量,但相同的变量只是为列表中的每个值增加一,例如my_list=[[aa],[ab],[ba],[bb],[bc],[cb],[cc],[cd]],我想d成为变量并且必须继续遍历列表,d+=1例如输出看起来或多或少像value[0]=d0,,,,, , , , , .value[1]=d1value[2]=d2value[3]=d3value[4]=d4value[5]=d5value[6]=d6value[7]=d7

def my_list():
    my_list=[[aa],[ab],[ba],[bb],[bc],[cb],[cc],[cd]] #list of values
    for d in my_list:
        d+=1 #? i don't know? how could i do this?
4

2 回答 2

1

也许您正在寻找列表理解?

value = [d[0] for d in my_list]

列表推导可以让您处理迭代的每个元素以生成新列表。上面的示例采用嵌套列表的第一个元素,将每个元素添加到一个新列表中。然后您的输入列表将转换为:

[aa, ab, ba, bb, bc, cb, cc, cd]
于 2012-12-07T17:26:17.983 回答
1

我想到的一种方法:

def my_list(n):
   my_list, my_num, my_var = [], 0, '' #multiple assignment of variables
   for my_num in range(n + 1): #second argument is exclusive, this implies (0, n + 1)
      my_var = 'd' + str(my_num)
      my_list.append(my_var)
   return my_list

或者,您可以使用字典(相同的想法,但有点不同):

def my_dict(n):
   my_dict, my_num, my_var = {}, 0, ''
   for my_num in range(n + 1):
      my_var = 'd' + str(my_num)
      my_dict[my_num] = my_var
   return my_dict

它将导致每个条目的键为my_num并且值为my_var。你可以'd'用任何东西替换,只要它是一个字符串。如果它没有格式化为字符串,并且my_num是整数或浮点数,它将把它们加在一起(3 + 7会导致10, not 37),而不是连接它们。

于 2012-12-07T17:45:15.417 回答