python - 按列表列表中的索引对项目进行操作

标签 python list list-comprehension

假设我有一个列表列表(称为 someListofLists),并且我想将每个子列表的第 4 个元素乘以 2。我可以执行以下操作:

new=[]
for k in someListofLists:
    this=k
    this[3]=this[3]*2
    new.append(this)

是否有更优雅的方法来使用列表理解或其他技术来做到这一点?我希望输出仍然是列表的列表。

最佳答案

使用列表理解和枚举来获取索引,如果索引== 3则乘以2

>>> someListofLists = [[1, 2, 3, 4, 5], [6, 7, 8, 9, 10]]
>>> [[e*2 if i==3 else e for i,e in enumerate(l)] for l in someListofLists]
[[1, 2, 3, 8, 5], [6, 7, 8, 18, 10]]

关于python - 按列表列表中的索引对项目进行操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52083104/

相关文章:

python - 访问Python列表中的特定变量

python - 使用Python将多阶段作业的HIVE刷新错误转换为stderr

c++ - 通过属性在 C++ 和 QML 之间共享数组或列表

python - 用列表理解替换循环,而不是循环获取函数以在列表理解中返回新数组

python - 列表理解条件中的 `elif`

python - NumPy:比较两个数组中的元素

python - 如何使用 word2vec 训练分类器?

java - Kotlin 与列表末尾的新项目关联

c++ - 用链表表示矩阵

haskell - 我如何操纵列表理解?