Python:使用整数创建字符串数组

时间:2016-04-07 15:14:32

标签: python arrays list

我想创建一个大字符串数组,如下所示:

['x1_1', 'x1_1', 'x1_2', 'x1_2',................, 'x1_100', 'x1_100']

这有简单的方法吗?我希望列表中的每个值都是两次。不仅仅是:

['x1_1', 'x1_2', ...,'x1_100']

3 个答案:

答案 0 :(得分:1)

['x1_{}'.format(x) for x in range(1,101)]

这称为列表理解。它等同于以下内容:

array = []
for x in range(1, 101):
    String = "x1_{}".format(x)
    array.append(String)

修改是的,如果您想生成完全 100个字符串,那么您需要range(1,101)代替range(1,100),因为range(a, b)生成从ab-1的数字列表。

编辑#2:如果您希望重复这些字符串两次,请尝试以下操作:

array = []
for x in range(1, 101):
    Strings = ("x1_{} ".format(x)*2).strip().split()
    array.extend(Strings)

答案 1 :(得分:1)

使用列表理解和字符串连接:

long_list = [ "x1_" + str(x) for x in range(1, 101) for y in range(2)]

答案 2 :(得分:0)

新版本,希望更有效:

a = [ 'x1_{}'.format(x) for x in range(1,101)]
a = zip(a,a)
a = [i for j in a for i in j]

a将包含您所需的列表

旧版本(效率不高,但仍有效):

a = [ ['x1_{}'.format(x), 'x1_{}'.format(x)] for x in range(1,101)]
b = []
for i in a:
  b.extend(i)

b将包含您所需的列表