我很难学习python语法。我一直在为合并排序做一些算法,但我遇到了一些问题。
def arrMerge(a):
for i in range(1,len(a), *2):
for j in range(0,len(a)-1,2*i):
end2 = (2*i < len(a) -j) ? 2*i : len(a) -j
这个块在python中有关于我应该如何执行它的任何想法?
答案 0 :(得分:1)
我假设您在询问C ++三元运算符的Python等效语法是什么。在Python中,您将使用具有语法value if condition else other_value
的条件表达式。
所以你的任务将成为:
end2 = 2 * i if 2 * i < len(a) - j else len(a) - j
通常最好使用普通if
:
if 2 * i < len(a) - j:
end2 = 2 * i
else:
end2 = len(a) - j