【发布时间】:2017-04-20 13:41:53
【问题描述】:
我对 Python 有一些基本的了解,但我不知道下面的代码会发生什么。有人可以帮我解释或“翻译”成更正常/常见的表达方式吗?
steps = len(t)
sa = [i for i in range(steps)]
sa.sort(key = lambda i: t[i:i + steps])#I know that sa is a list
for i in range(len(sa)):
sf = t[sa[i] : sa[i] + steps]
't'实际上是一个字符串
谢谢。
【问题讨论】:
-
你能提供
sa和steps的例子吗(我假设steps是整数,但你知道他们对假设的看法......)? -
@not_a_robot,别忘了
t。t是这一切的中心,但我们不知道它是什么,大概是一个列表。 -
打印出每个单独的表达式/变量,然后慢慢打印出越来越大的组合,直到打印出整个表达式。
-
对不起,我编辑了代码并添加了一些代码(不是来自原始代码,但我添加它是为了帮助我更好地理解)
-
sa = [i for i in range(steps)]只是编写sa = range(steps)(python 2.x) 或sa = list(range(steps))(python 3.x) 的一种无用的复杂方式。
标签: python list lambda expression