高效生成具有单个重复元素的列表
假设您需要创建多个列表,每个列表包含一个特定元素 e 重复不同数量的次。如何在不对每个列表使用列表推导式的情况下实现此目的?
使用列表乘法的解决方案
除了列表推导式之外,您还可以使用列表乘法创建列表。只需重复元素 e n 次即可获得长度为 n 的列表:
[e] * n
其他注意事项
请注意,如果 e 是空列表,则此方法将创建包含 n 个对同一空列表的引用的列表,而不是 n 个独立的空列表。
性能测试
初始性能测试可能表明重复函数比列表乘法更快。然而,这是一种误导,因为重复实际上并不创建列表;而是创建列表。它创建一个可迭代的对象,如果需要,可以将其转换为列表。
与列表的实际创建进行比较时,列表乘法比将重复可迭代对象转换为列表要快得多。因此,为了创建列表,建议使用列表乘法:
[e] * n
以上是如何在没有列表推导式的情况下高效创建包含重复元素的列表?的详细内容。更多信息请关注PHP中文网其他相关文章!