在python中如何重复项目N次进入列表?

时间:2014-06-18 11:37:04

标签: python

说,我有一个字符串A =' baby',想要重复A 4次以生成一个如下所示的列表:

['baby', 'baby', 'baby', 'baby']

我目前的解决方案是:

((A+".")*4).split('.')[:-1]
然而,这看起来很尴尬。

有没有更文明的解决方案?

谢谢!

3 个答案:

答案 0 :(得分:4)

更新 此答案通过更多关于规范问题的示例进行了扩展:https://stackoverflow.com/a/24557558/541136

你可以这样做:

['baby'] * 4

请注意,这最好只用于列表中的不可变项,因为它们都指向内存中的相同位置。当我必须构建一个包含所有字符串模式的表时,我经常使用它。

schema = ['string'] * len(columns)

注意使用可变对象执行此操作,当您更改其中一个时,它们都会更改,因为它们是所有相同的对象:

foo = [[]] *4
foo[0].append('x')

foo现在返回:

[['x'], ['x'], ['x'], ['x']]

答案 1 :(得分:0)

使用列表理解:

['baby' for x in range(4)]

答案 2 :(得分:0)

使用单个元素构建列表并将列表相乘

['baby']*4