gpt4 book ai didi

python - 如何在用 Python 编写紧凑但复杂的代码和易于理解但较长的代码之间做出选择?

转载 作者:太空狗 更新时间:2023-10-30 00:12:32 26 4
gpt4 key购买 nike

在 Hackerrank ( https://www.hackerrank.com/challenges/merge-the-tools/problem ) 上做这个挑战时,我遇到了一个用户写的高票答案。紧凑是很好,但我发现很难遵循。

def merge_the_tools(string, k):
S, N = input(), int(input())
for part in zip(*[iter(S)] * N):
d = dict()
print(''.join([ d.setdefault(c, c) for c in part if c not in d ]))

这是我的编码方式:

def merge_the_tools(string, k):
# s1. cut string into list of substrings
t=[]
start=0
k=int(k)
end=k
while(end<len(string)+1):
t.append(string[start:end])
start+=k
end+=k
#test: print(t)

#s2. strip repeating char from t_i by iterating thru
for ti in t:
si=""
for char in ti:
if char not in si:
si+=char
print(si)

根据 Python 标准,哪个答案展示了更好的做法?我浏览了PEP8并没有找到我的问题的答案。

最佳答案

这完全取决于您的目标受众和代码的预期用途。如果代码只适合您,请按照您最能理解的方式进行操作。紧凑的代码通常(但并不总是)更高效,因为您必须编写更少的代码,而且如果出现错误,要查看的内容也更少。如果您打算让其他人查看您的代码并从中学习,那么一定要选择更长、更易读的代码,给他们空间来找出捷径,这样他们才能感到有成就感并为自己的工作感到自豪,但回到问题.没有正确或错误的方法(引用紧凑与可读),这完全取决于情况。

关于python - 如何在用 Python 编写紧凑但复杂的代码和易于理解但较长的代码之间做出选择?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54099549/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com