这种数组创建样式“ [x] * n + [y] * k ”是否返回字符串或数组? 有人可以解释这种方法是如何工作的吗?我是Python的新手。如果这个问题太简单,我深表歉意。我只是不知道如何使用Google搜索这种方法。
答案 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
本质上重复列表n
和k
次。因此,如果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