【发布时间】:2021-12-02 14:48:41
【问题描述】:
我故意在 python 中犯罪。这是一种不好的做法。 这里的目标是被诅咒的代码。全部在一条线上。
我基本上有以下内容
with open("file") as f:
[int(x) for x in [y for y in f.read().split()]
我不能用
with open("file") as f:
a = f.read().split()
[x for x in [(a[i-1, e]) for i, e in enumerate(a) if i > 0] ...]
因为我们的目标是将它放在一行中(除了 with open)
我想从原始对象返回当前元素以及前一个元素或下一个元素。
为了说明清楚。
a = [1, 2, 3, 4, 5]
非法代码后会返回
[(1, 2), (2, 3), (3, 4), (4, 5), (5, ?)]
所以这里的重点不是生产代码。这纯粹是为了看看我们能在多大程度上滥用这种语言。
到目前为止,我发现https://code.activestate.com/recipes/204297/ 引用了python2 中local 的使用,经过处理后我发现它的界面有点不同。 我已经能够在内存中获取对象,但现在我不知道如何实际使用这个对象。
local()['.0']
似乎缺少大多数属性,没有 __self__ 可调用。
请分享您对此最讨厌的想法。
【问题讨论】:
-
@mkrieger1。问题是它们是两行
标签: python python-3.x list-comprehension