【发布时间】:2017-11-24 19:07:37
【问题描述】:
给定两个数字a和b,十进制zip的定义如下:
• C 的第一位(即最高有效位)数字是a 的第一位;
• C 的第二位是b 的第一位;
• C 的第三位是a 的第二位;
• C 的第四位是b 的第二位;
• 等等
如果整数a 和b 的位数用完,剩下的位数
另一个整数附加到结果中。
例子:
输入: a = 12, b = 59 输出应该是: c = 1529
输入: a = 1094, b = 12 输出: c = 110294
我有这个代码:
a = 1234534543
b = 3525523342
a = str(a)
b = str(b)
aLen = len(a)
bLen = len(b)
c = "".join([x+y for (x,y) in zip(a,b)]) + a[min(aLen,bLen):] + b[min(aLen,bLen):]
print(int(c))
它有效,但有没有更 Pythonic 的方法来实现相同的效果?
上面代码的问题是:
- 我正在尝试附加
a和b的剩余数字,尽管在某些情况下不需要其中一个或两个数字。 - 输入过大需要一些时间。
【问题讨论】:
标签: python performance python-3.x