【问题标题】:Restricted Assignment in Python's List Comprehensions?Python列表理解中的受限赋值?
【发布时间】:2011-01-02 14:59:30
【问题描述】:

该示例是从here 窃取的,但我的目标有一个限制,因此输出为[8,12,-54]。你怎么能用列表推导来做到这一点?我需要以某种方式引用像x_{i}*y_{i} 这样的索引,我很犹豫要在那里添加一个循环,有什么优雅的解决方案吗?

>>> vec1 = [2, 4, 6]
>>> vec2 = [4, 3, -9]
>>> [x*y for x in vec1 for y in vec2]
[8, 6, -18, 16, 12, -36, 24, 18, -54]

【问题讨论】:

  • @Rafe:输出是限制。

标签: python list-comprehension


【解决方案1】:
[x * y for x, y in zip(vec1, vec2)]

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-08-31
    • 2013-07-19
    • 1970-01-01
    • 2020-12-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多