我有以下字符串列表:
l1 = ['one','two','three']
我想得到一个列表,比如说,这些元素重复了n
次。如果n=3
我会得到:
l2 = ['one','one','one','two','two','two','three','three','three']
我尝试的是:
l2 = [3*i for i in l1]
但我得到的是:
l2 = ['oneoneone','twotwotwo','threethreethree']
如果我尝试这样做:
l2 = [3*(str(i)+",") for i in l1]
我获得:
l2 = ['one,one,one','two,two,two','three,three,three']
我错过了什么
如果你想使用纯列表理解
说明:
若原始列表有k个元素,则重复因子为n =>;最终列表中的项目总数:n*k
要将范围n*k映射到k个元素,请除以n。还记得整数除数吗
您可以使用itertools将列表转换为列表(以快速方式):
因此,您可以定义一个重复如下元素的函数:
这使得:
这相当于:
注意
3*[i]
创建了一个包含3个重复元素的列表(例如['one', one', 'one']
)相关问题 更多 >
编程相关推荐