python - 在导入模块之前,正在从模块调用函数
问题描述
我正在查看一个代码高尔夫解决方案,它的代码是(由 TFeld 编写):
lambda s:all(''.join(p)in s for p in permutations({*s}))
from itertools import*
这怎么可能?提前致谢!
解决方案
确实,应该先导入。
PPCG 站点的常用标准允许创建满足挑战要求的功能的答案,而无需将其实际保存在任何地方。在lambda
创建函数的时候,permutations
不可用,但是函数没有执行,所以没有错误发生。如果由 创建的函数lambda
要在此代码块的末尾执行,则此时permutations
将可用,因此不会发生错误。
但是,由 创建的函数lambda
在import
. 在这段代码的执行过程中,实际上没有一个函数可以满足挑战的要求。在函数的生命周期结束之前,函数的依赖项不可用。
切换 lambda 和导入将解决此问题,而不需要额外的字符。
推荐阅读
- javascript - TypeError:store.getState 不是函数。(在'store.getState()'中,'store.getState'未定义我该如何解决这个问题?
- php - parse_str 只返回第一个参数
- sql-server - 如何在 SQL Server 中有效地存储文件
- flutter - 在 Flutter 中实时渲染和更改 3D 模型
- c - -C 中遇到的垃圾值
- c#-4.0 - 在 C# 中将语言设置为阿拉伯语时读取和转换 Google 日历事件日期的问题
- java - 使用非标准时代/月份名称解析日期
- mongodb - 如何通过组和累加器阶段改进 MongoDB 聚合?
- php - 使用 Vue js 在 Laravel Blade php 上实现 SPA
- android - 在Android中设置导航抽屉的背景颜色