您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

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

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

我有两个一线客轮。

鉴于:

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

使用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所指出的,如果任何一个元素具有多个字母,则此方法将无效。

使用嵌套的理解将列表(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]整理锯齿状的列表。

python 2022/1/1 18:48:06 有413人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶