我想创建一个大字符串数组,如下所示:
['x1_1', 'x1_1', 'x1_2', 'x1_2',................, 'x1_100', 'x1_100']
这有简单的方法吗?我希望列表中的每个值都是两次。不仅仅是:
['x1_1', 'x1_2', ...,'x1_100']
答案 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)
生成从a
到b-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将包含您所需的列表