【问题标题】:how to add value after every 2 elements in Python List? [duplicate]如何在 Python List 中的每 2 个元素之后添加值? [复制]
【发布时间】:2021-11-23 17:52:25
【问题描述】:

我想在 List 的每两个元素之后添加一个特定的值。 例如:

zz = ['a','b','c','d','f']

我想添加这个词:“英雄”,最终的外观将是:

zz = ['a','b','Hero','c','d','Hero','f']

我尝试使用函数 insert 将值放入特定索引,但它不起作用这是我的代码:

zz = ['a','b','c','d','f']
count = 0
for x in zz:
    if count == 2:
        zz.insert(count,"Carlos")
    print(x)
    count+=1

我认为它离解决方案还很远,我还是 python 的新手

【问题讨论】:

标签: python


【解决方案1】:

你可以试试这个:

letters = ['a','b','c','d','f']
n = 2
word = 'Hero'
val_list = [x for y in (letters[i:i+n] + [word] * (i < len(letters) - n) for i in range(0, len(letters), n)) for x in y]

print(val_list)

在这里,使用嵌套推导来展平列表列表 ([item for subgroup in groups for item in subgroup]),如果列表末尾小于 n,则将 n 分组并添加 word

另一种选择:

letters = ['a','b','c','d','f']
n = 2
word = 'Hero'

for i in range(n, len(letters) + n, n + 1):
    letters.insert(i, word)

print ( letters )

输出:

['a', 'b', 'Hero', 'c', 'd', 'Hero', 'f']

【讨论】:

  • 但是你的代码好像很难看懂,有参考吗?
  • 如果你喜欢我的回答,请点个赞
  • 为你添加解释,希望现在你会明白
猜你喜欢
  • 2020-06-06
  • 2021-10-19
  • 1970-01-01
  • 2017-08-30
  • 2021-01-05
  • 1970-01-01
  • 2023-03-20
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多