在第n个元素之后在Python列表中插入元素

在第n个元素之后在Python列表中插入元素,第1张

在第n个元素之后在Python列表中插入元素

我有两个一线客轮。

鉴于:

>>> letters = ['a','b','c','d','e','f','g','h','i','j']
  1. 使用

    enumerate
    获得指数,增加
    'x'
    每3次字母
    mod(n, 3) == 2
    ,然后连接成字符串和
    list()
    它。

    >>> list(''.join(l + 'x' * (n % 3 == 2) for n, l in enumerate(letters)))

    [‘a’, ‘b’, ‘c’, ‘x’, ‘d’, ‘e’, ‘f’, ‘x’, ‘g’, ‘h’, ‘i’, ‘x’, ‘j’]

但是正如@ sancho.s所指出的,如果任何一个元素具有多个字母,则此方法将无效。

  1. 使用嵌套的理解将列表(a)的列表展平,将列表分成3组,

    'x'
    如果列表末尾少于3个,则添加。

    >>> [x for y in (letters[i:i+3] + ['x'] * (i < len(letters) - 2) for i in xrange(0, len(letters), 3)) for x in y]

    [‘a’, ‘b’, ‘c’, ‘x’, ‘d’, ‘e’, ‘f’, ‘x’, ‘g’, ‘h’, ‘i’, ‘x’, ‘j’]

(a)

[item for subgroup in groups for item in subgroup]
整理锯齿状的列表。



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5623806.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-15
下一篇 2022-12-15

发表评论

登录后才能评论

评论列表(0条)

保存