python如何有效地循环通过列表中的几个元素

乔纳斯

我有很长的清单要替换字符串。我在下面做了一个简化的例子来说明我的问题。

my_list = ['a7_1_1', 'a7_2_1', 'a7_3_1','a7_1_2', 'a7_2_2', 'a7_3_2','a7_1_3', 'a7_2_3', 'a7_3_3']


Out[12]:
['a7_1_1',
 'a7_2_1',
 'a7_3_1',
 'a7_1_2',
 'a7_2_2',
 'a7_3_2',
 'a7_1_3',
 'a7_2_3',
 'a7_3_3'

我想用添加到前3个字符串中的后缀替换字符串,因此最终列表应如下所示:

my_new_list = ['a7_1_1', 'a7_2_1', 'a7_3_1','a7_1_1.1', 'a7_2_1.1', 'a7_3_1.1','a7_1_1.2', 'a7_2_1.2', 'a7_3_1.2']


Out[15]:
['a7_1_1',
 'a7_2_1',
 'a7_3_1',
 'a7_1_1.1',
 'a7_2_1.1',
 'a7_3_1.1',
 'a7_1_1.2',
 'a7_2_1.2',
 'a7_3_1.2']

是否有捷径可寻?

德米特里

使用itertools.cycle()函数

import itertools as it           #1

def cycle_first_n(lst, n):
    """ cycles through first n elements of the list """
    c = it.cycle(lst[:n])        #2
    for idx in xrange(len(lst)): #3
        sfx = idx / n
        yield c.next() + ('.' + str(sfx) if sfx > 0 else '')  #4
  1. itertools是一个用于创建迭代器以实现高效循环的库
  2. 创建一个迭代器以遍历列表的n个元素的切片
  3. 使用xrange而不是range以避免在内存中创建大概较长的列表(请参阅问题)
  4. yield意味着我们正在创建一个生成器。再次避免在内存中创建长列表

如何使用功能

lst = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h']
for o in cycle_first_n(lst, 3):
    print o,

输出

a b c a.1 b.1 c.1 a.2 b.2

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何有效地在python中通过大型列表创建迭代?

来自分类Dev

如果python中的每个列表中都存在一个元素,如何有效地串联列表

来自分类Dev

有效地循环几个承诺

来自分类Dev

如何使用python中的列表有效地排序列表列表

来自分类Dev

如何有效地搜索列表中的项目?

来自分类Dev

如何有效地搜索列表中的项目?

来自分类Dev

如何在列表中的python列表中有效地共现

来自分类Dev

如何有效地在python中创建索引列表?

来自分类Dev

如何在python中更有效地搜索大型列表?

来自分类Dev

如何有效地比较Python中的两个列表?

来自分类Dev

如何有效地选择熊猫中的几个值范围?

来自分类Dev

如何有效地从字典中提取其列为Python中2D列表的列中的所有元素?

来自分类Dev

如何在R中有效地附加列表的所有元素

来自分类Dev

python有效地比较列表列表

来自分类Dev

python有效地比较列表列表

来自分类Dev

在R中通过索引有效地替换字符串元素

来自分类Dev

在R中通过索引有效地替换字符串元素

来自分类Dev

如何有效地从numpy数组中提取由其索引给出的元素列表?

来自分类Dev

如何有效地从IQueryable检索随机元素列表?

来自分类Dev

如何有效地从IQueryable检索随机元素列表?

来自分类Dev

如果这些是向量,如何有效地检查 R 列表元素的身份?

来自分类Dev

如何通过id有效地映射两个对象列表

来自分类Dev

有效地对列表中的相同元素进行分组

来自分类Dev

通过跳过缺失值有效地遍历字典列表值Python 3

来自分类Dev

通过跳过缺失值来有效地遍历字典列表值Python 3

来自分类Dev

如何有效地在地图中插入元素?

来自分类Dev

如何有效地分析python中2个大列表的所有可能组合?

来自分类Dev

如何有效地通过纸上算法

来自分类Dev

如何通过gpg有效地加密备份

Related 相关文章

  1. 1

    如何有效地在python中通过大型列表创建迭代?

  2. 2

    如果python中的每个列表中都存在一个元素,如何有效地串联列表

  3. 3

    有效地循环几个承诺

  4. 4

    如何使用python中的列表有效地排序列表列表

  5. 5

    如何有效地搜索列表中的项目?

  6. 6

    如何有效地搜索列表中的项目?

  7. 7

    如何在列表中的python列表中有效地共现

  8. 8

    如何有效地在python中创建索引列表?

  9. 9

    如何在python中更有效地搜索大型列表?

  10. 10

    如何有效地比较Python中的两个列表?

  11. 11

    如何有效地选择熊猫中的几个值范围?

  12. 12

    如何有效地从字典中提取其列为Python中2D列表的列中的所有元素?

  13. 13

    如何在R中有效地附加列表的所有元素

  14. 14

    python有效地比较列表列表

  15. 15

    python有效地比较列表列表

  16. 16

    在R中通过索引有效地替换字符串元素

  17. 17

    在R中通过索引有效地替换字符串元素

  18. 18

    如何有效地从numpy数组中提取由其索引给出的元素列表?

  19. 19

    如何有效地从IQueryable检索随机元素列表?

  20. 20

    如何有效地从IQueryable检索随机元素列表?

  21. 21

    如果这些是向量,如何有效地检查 R 列表元素的身份?

  22. 22

    如何通过id有效地映射两个对象列表

  23. 23

    有效地对列表中的相同元素进行分组

  24. 24

    通过跳过缺失值有效地遍历字典列表值Python 3

  25. 25

    通过跳过缺失值来有效地遍历字典列表值Python 3

  26. 26

    如何有效地在地图中插入元素?

  27. 27

    如何有效地分析python中2个大列表的所有可能组合?

  28. 28

    如何有效地通过纸上算法

  29. 29

    如何通过gpg有效地加密备份

热门标签

归档