duangsues.is_a? SaltedFish
60 subscribers
609 photos
6 videos
91 files
562 links
🌶🐔🐟 duangsuse 的日常
尤其喜欢发些奇奇怪怪的东西
和转载别人的东西
Download Telegram
Forwarded from dnaugsuz
噢,就是说 zipWithNext
……之前一次我分享的消息被删了,再写一遍

def zipWithNext(xs: iter):
a = next(xs)
while True:
try: b = next(xs)
except StopIteration: break
yield (a, b)
a = b


结果是 list(zipWithNext(iter([1,2,3,4])))
[(1, 2), (2, 3), (3, 4)]
Forwarded from dnaugsuz
噢,我明白了,你的意思是要连着一个 record (单行)来排序
为什么不用 Excel 呢……
Forwarded from Hari Seldon
基本上就是干这个
Forwarded from dnaugsuz
举个例子 students = [("Alice", 14), ("Tom", 17)]
sorted(students, key=lambda s: s[1], reverse=True)
是这样?
Forwarded from dnaugsuz
你这个就是选择排序嘛…… 弄完一个剩下的选项少一个
previous 和 current 的关系你思考过没,是 id 顺序的关系?因为有些东西即便无需顺序,你也可以因处理过程顺序给 previous/current 啊
Forwarded from Hari Seldon
所以iter我现在用df.loc来写,不知道有没有更好的方法,会不会df.iterrows + if continue 更好
Forwarded from dnaugsuz
我觉得还是用 loc,把查询工作交给框架做好了
Forwarded from Hari Seldon
区块链的哈希关系,然后获取区块的时候是完全打乱顺序的,没办法
Forwarded from dnaugsuz
你的意思是,只有知道当前的 hash,才能拿到下一项?🤔
你生成有序列表的过程包不包含 insert 操作?还是只有 append?
Forwarded from dnaugsuz
可不可以先都给 fetch 回来成 list,然后再直接用内建的 sorted(xs)
Forwarded from dnaugsuz
举个例子,
收支 = ["10/20", "54/38"]
然后你可以
ab_list = map(lambda text: text.split("/"), 收支)
收列, 支列 = (1, 2)
for (i, (a, b)) in enumerate(ab_list):
sheet.write(i, 收列, a)
sheet.write(i, 支列, b)

不过当然是有更好的方法的,你要学肯定觉得有负担 🤔
Forwarded from dnaugsuz
🤔 这么说你的那个顺序,是依赖 record 的 fetch 顺序来排的?
我举个例子

def chain_fetch(initial, op):
last = initial
while last != None:
last = op(last)
yield last


比如说,这有个列表。
你要按每项末尾的数字跳过一定项目,来取下一项。
words = "hello0 world1 good bad2 peace cruel world".split(" ")

def _deref(base_text):
(base, text) = base_text
i = int(text[-1])
return (base+i, words[base+i])
chain_fetch((0, ""), _deref)

然后排序的话,你不可以用 enumerate iterator 来实现?
Forwarded from Mike Wang | 菜鸡 | 穷苦破产劳动人民
sorted不是自带排序参考的key么…,简单点的写个lambda,难一点的def个函数返回个排序参考
Forwarded from salt me
from functools import cmp_to_key def reverse_numeric(x, y): return x - y sorted([5, 2, 4, 1, 3], key=cmp_to_key(reverse_numeric)
Forwarded from dnaugsuz
在 sort 算法里,cmp 函数需要依照无序列表两项一组为单位进行比较? 🤔
他的意思是 sorted(["wtf", "h"], key=lambda s: len(s)) == ['h', 'wtf']
Forwarded from dnaugsuz
cmp_to_key(lambda x,y: x<y) 这个有意思,不对写错了 🤔
sorted([5,2,4,1,3], key=cmp_to_key(lambda x, y: x - y)) == [1, 2, 3, 4, 5]
Forwarded from Hari Seldon
我用df.loc来跑,现在跑了10%了,效率大概提升了6%
Forwarded from Hari Seldon
排序的ID值作为PK,和其他表FK,大大大幅方便之后的数据录入和数据分析。
Forwarded from dnaugsuz
说了这么久怎么我还是感觉你这个还是有点像 list(enumerate(["a", "b", "c"])) = [(0, 'a'), (1, 'b'), (2, 'c')] ……