说,我有一个字符串A =' baby',想要重复A 4次以生成一个如下所示的列表:
['baby', 'baby', 'baby', 'baby']
我目前的解决方案是:
((A+".")*4).split('.')[:-1]
然而,这看起来很尴尬。
有没有更文明的解决方案?
谢谢!
答案 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