2024-03-28 12:00:03 发布
网友
比如,我有一个字符串a='baby',想重复4次生成一个列表,如下所示:
['baby', 'baby', 'baby', 'baby']
我目前的解决方案是:
然而,这看起来真的很尴尬。在
还有更文明的解决办法吗?在
谢谢!在
用单个元素构建一个列表,然后将列表相乘
['baby']*4
更新这个答案在规范问题上有更多的例子:https://stackoverflow.com/a/24557558/541136
你可以这样做:
['baby'] * 4
注意,这最好只用于列表中不可变的项,因为它们都指向内存中的同一个位置。当我需要构建一个包含所有字符串的模式的表时,我经常使用这种方法。
注意对可变对象执行此操作,当您更改其中一个对象时,它们都会更改,因为它们都是相同的对象:
foo = [[]] *4 foo[0].append('x')
foo现在返回:
通过使用列表理解:
['baby' for x in range(4)]
用单个元素构建一个列表,然后将列表相乘
更新这个答案在规范问题上有更多的例子:https://stackoverflow.com/a/24557558/541136
你可以这样做:
注意,这最好只用于列表中不可变的项,因为它们都指向内存中的同一个位置。当我需要构建一个包含所有字符串的模式的表时,我经常使用这种方法。
^{pr2}$注意对可变对象执行此操作,当您更改其中一个对象时,它们都会更改,因为它们都是相同的对象:
foo现在返回:
^{4}$通过使用列表理解:
['baby' for x in range(4)]
相关问题 更多 >
编程相关推荐