【问题标题】:For/Loop within brackets causing syntax error?括号内的 For/Loop 导致语法错误?
【发布时间】:2018-08-14 15:12:05
【问题描述】:

我在“for account in accounts”循环中遇到无效语法错误,为什么?

请帮忙,我已经为此苦苦挣扎了一段时间

app.send(
    functions.channels.InviteToChannel(
        channel=app.resolve_peer("xyz123"), 
        users=[
            for account in accounts:
                app.resolve_peer(accounts)
        ]
    )
)

【问题讨论】:

  • [app.resolve_peer(accounts) for account in accounts]列表理解,而不是 for 循环。你混淆了两者。列表推导式是返回某种列表的表达式。 for 循环是一个命令,而不是一个表达式。

标签: python


【解决方案1】:

你想使用list comprehension:

app.send(
    functions.channels.InviteToChannel(
        channel=app.resolve_peer("xyz123"), 
        users=[
            app.resolve_peer(account) for account in accounts     
        ]
    )
)

【讨论】:

  • 你的理解末尾多了一个冒号
  • 大概你的意思是app.resolve_peer(account),而不是app.resolve_peer(accounts)
  • 是的,这样会更有意义:)
  • 非常感谢。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2012-02-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-10-29
  • 2022-08-20
  • 1970-01-01
相关资源
最近更新 更多