<legend id='l8Q8r'><style id='l8Q8r'><dir id='l8Q8r'><q id='l8Q8r'></q></dir></style></legend>

<small id='l8Q8r'></small><noframes id='l8Q8r'>

    1. <tfoot id='l8Q8r'></tfoot>
      <i id='l8Q8r'><tr id='l8Q8r'><dt id='l8Q8r'><q id='l8Q8r'><span id='l8Q8r'><b id='l8Q8r'><form id='l8Q8r'><ins id='l8Q8r'></ins><ul id='l8Q8r'></ul><sub id='l8Q8r'></sub></form><legend id='l8Q8r'></legend><bdo id='l8Q8r'><pre id='l8Q8r'><center id='l8Q8r'></center></pre></bdo></b><th id='l8Q8r'></th></span></q></dt></tr></i><div id='l8Q8r'><tfoot id='l8Q8r'></tfoot><dl id='l8Q8r'><fieldset id='l8Q8r'></fieldset></dl></div>

        • <bdo id='l8Q8r'></bdo><ul id='l8Q8r'></ul>

        如何仅使用 itertools 将 Python 列表的每个元素重复 n 次?

        时间:2023-10-19
          <tbody id='VNuWJ'></tbody>
        <tfoot id='VNuWJ'></tfoot>

            • <i id='VNuWJ'><tr id='VNuWJ'><dt id='VNuWJ'><q id='VNuWJ'><span id='VNuWJ'><b id='VNuWJ'><form id='VNuWJ'><ins id='VNuWJ'></ins><ul id='VNuWJ'></ul><sub id='VNuWJ'></sub></form><legend id='VNuWJ'></legend><bdo id='VNuWJ'><pre id='VNuWJ'><center id='VNuWJ'></center></pre></bdo></b><th id='VNuWJ'></th></span></q></dt></tr></i><div id='VNuWJ'><tfoot id='VNuWJ'></tfoot><dl id='VNuWJ'><fieldset id='VNuWJ'></fieldset></dl></div>

                <bdo id='VNuWJ'></bdo><ul id='VNuWJ'></ul>

                <small id='VNuWJ'></small><noframes id='VNuWJ'>

                <legend id='VNuWJ'><style id='VNuWJ'><dir id='VNuWJ'><q id='VNuWJ'></q></dir></style></legend>
                  本文介绍了如何仅使用 itertools 将 Python 列表的每个元素重复 n 次?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着跟版网的小编来一起学习吧!

                  问题描述

                  我有一个带有数字的列表:数字 = [1, 2, 3, 4].

                  I have a list with numbers: numbers = [1, 2, 3, 4].

                  我想要一个列表,他们像这样重复 n 次(对于 n = 3):

                  I would like to have a list where they repeat n times like so (for n = 3):

                  [1, 1, 1, 2, 2, 2, 3, 3, 3, 4, 4, 4].

                  问题是我只想为此使用 itertools,因为我的性能非常有限.

                  The problem is that I would like to only use itertools for this, since I am very constrained in performance.

                  我尝试使用这个表达式:

                  I tried to use this expression:

                  list(itertools.chain.from_iterable(itertools.repeat(numbers, 3)))

                  但它给了我这样的结果:

                  But it gives me this kind of result:

                  [1, 2, 3, 4, 1, 2, 3, 4, 1, 2, 3, 4]

                  这显然不是我需要的.

                  有没有办法只使用 itertools 来做到这一点,而不使用排序、循环和列表推导?我能得到的最接近的是:

                  Is there a way to do this with itertools only, without using sorting, loops and list comprehensions? The closest I could get is:

                  list(itertools.chain.from_iterable([itertools.repeat(i, 3) for i in numbers])),

                  但它也使用列表理解,我想避免.

                  but it also uses list comprehension, which I would like to avoid.

                  推荐答案

                  由于不想使用列表推导式,下面是纯(+zip) itertools 方法——

                  Since you don't want to use list comprehension, following is a pure (+zip) itertools method to do it -

                  from itertools import chain, repeat
                  
                  list(chain.from_iterable(zip(*repeat(numbers, 3))))
                  # [1, 1, 1, 2, 2, 2, 3, 3, 3, 4, 4, 4]
                  

                  这篇关于如何仅使用 itertools 将 Python 列表的每个元素重复 n 次?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持跟版网!

                  上一篇:为什么`__iter__`在定义为实例变量时不起作用? 下一篇:迭代列表的奇怪速度差异

                  相关文章

                1. <small id='Yy2sc'></small><noframes id='Yy2sc'>

                      <bdo id='Yy2sc'></bdo><ul id='Yy2sc'></ul>

                    1. <legend id='Yy2sc'><style id='Yy2sc'><dir id='Yy2sc'><q id='Yy2sc'></q></dir></style></legend>
                    2. <tfoot id='Yy2sc'></tfoot>

                    3. <i id='Yy2sc'><tr id='Yy2sc'><dt id='Yy2sc'><q id='Yy2sc'><span id='Yy2sc'><b id='Yy2sc'><form id='Yy2sc'><ins id='Yy2sc'></ins><ul id='Yy2sc'></ul><sub id='Yy2sc'></sub></form><legend id='Yy2sc'></legend><bdo id='Yy2sc'><pre id='Yy2sc'><center id='Yy2sc'></center></pre></bdo></b><th id='Yy2sc'></th></span></q></dt></tr></i><div id='Yy2sc'><tfoot id='Yy2sc'></tfoot><dl id='Yy2sc'><fieldset id='Yy2sc'></fieldset></dl></div>