如何创建一个字符串列表,其中只有最后一个元素是不同的

时间:2018-02-06 11:32:43

标签: python list

如何使用迭代循环创建如下所示的列表?

col_head =['mfcc_delta_1', 'mfcc_delta_2', 'mfcc_delta_3'] 

到目前为止,我一直在尝试这种迭代。但这不正确。

['mfcc_delta_{%d}'.format(i) for i in range(0,13)]

5 个答案:

答案 0 :(得分:3)

你可以简单地做

col_head =['mfcc_delta_{}'.format(num) for num in range(13)]

答案 1 :(得分:2)

您可以在python中使用 range 方法创建一个int范围,然后对其进行迭代以创建所需的结果。

示例:

#col_head =['mfcc_delta_1', 'mfcc_delta_2', 'mfcc_delta_3'] 
col_head = []
for i in range(1, 10):
    col_head.append('mfcc_delta_{0}'.format(i))

print col_head

<强>输出:

['mfcc_delta_1', 'mfcc_delta_2', 'mfcc_delta_3', 'mfcc_delta_4', 'mfcc_delta_5', 'mfcc_delta_6', 'mfcc_delta_7', 'mfcc_delta_8', 'mfcc_delta_9']

答案 2 :(得分:2)

这是一种方式,我想你可以试试:

public class A {
   private final B b;

    public A(B b) {
        this.b = b;
    }

   public int fun() {
     return b.b();
   }
}

public interface B {
    int b();
}

public class Testfun() {

    public void test(){
       B b = new B {
         public int b() {
             return 1;
         }  
       };   
       A a = new A(b);   
       assertEquals(1, a.fun());
    }
}

它将返回如下内容:

col_head =['mfcc_delta_{}'.format(i) for i in range(1, 5)]
print(col_head)

答案 3 :(得分:1)

假设您要添加5个元素。

col_head = []
for i in range(1, 6):
  col_head.append("mfcc_delta_"+str(i))

print col_head

答案 4 :(得分:1)

你可以试试这个:

columns_test = []
for i in range(0,13):
    columns_test.append('delta_mfcc_'+str(i))
希望会有所帮助。