Python“ [x] * n”样式数组的创建?

时间:2019-09-20 02:33:44

标签: python arrays

这种数组创建样式“ [x] * n + [y] * k ”是否返回字符串或数组? 有人可以解释这种方法是如何工作的吗?我是Python的新手。如果这个问题太简单,我深表歉意。我只是不知道如何使用Google搜索这种方法。

2 个答案:

答案 0 :(得分:2)

它可以用于创建列表。

n = 10
k = 20
['x'] * n + ['y'] * k
Output: ['x', 'x', 'x', 'x', 'x', 'x', 'x', 'x', 'x', 'x', 'y', 'y', 'y', 'y', 'y', 'y', 'y', 'y', 'y', 'y', 'y', 'y', 'y', 'y', 'y', 'y', 'y', 'y', 'y', 'y']

如果要将其转换为字符串,请使用:''.join(['x'] * n + ['y'] * k).join() returns a string which is the concatenation of the strings in iterable

我将分解['x'] * n + ['y'] * k各个部分的含义。

['x']['y']是带有一项的列表。

* n* k本质上重复列表nk次。因此,如果n为5,则['x'] * n看起来像['x','x','x','x','x']

最后,+合并两个列表,因此['x'] * n['y'] * k的结果在一个列表中,因此如果n为10而k为20,如果您仅使用该方法,则将获得['x', 'x', 'x', 'x', 'x', 'x', 'x', 'x', 'x', 'x', 'y', 'y', 'y', 'y', 'y', 'y', 'y', 'y', 'y', 'y', 'y', 'y', 'y', 'y', 'y', 'y', 'y', 'y', 'y', 'y'],如果您使用'xxxxxxxxxxyyyyyyyyyyyyyyyyyyyy',则将得到.join()

答案 1 :(得分:-5)

第一个问题是您的x和y是多少。 如果要创建字符串,请使用字符串“ x”和“ y”。

end_ptr

如果您想创建一个列表(数组),只需将一个类分配给x和y,例如:

['x'] * n + ['y'] * k