您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

插入两个字符串的最pythonic方式

插入两个字符串的最pythonic方式

对我来说,最pythonic *的方式是以下代码,它 几乎做同样的事情, 但是使用+运算符来连接每个字符串中的各个字符:

res = "".join(i + j for i, j in zip(u, l))
print(res)
# 'AaBbCcDdEeFfGgHhIiJjKkLlMmNnOoPpQqRRSSTtUuVvWwXxYyZz'

它也比使用两个join()调用更快:

In [5]: l1 = 'A' * 1000000; l2 = 'a' * 1000000

In [6]: %timeit "".join("".join(item) for item in zip(l1, l2))
1 loops, best of 3: 442 ms per loop

In [7]: %timeit "".join(i + j for i, j in zip(l1, l2))
1 loops, best of 3: 360 ms per loop

存在更快的方法,但是它们常常使代码模糊。

如果两个输入字符串是 相同的长度,则较长的一个将被截断, 停在较短字符串的结尾迭代。在这种情况下,zip应该使用模块中的 ( 在Python 2中)而不是一个itertools来确保两个字符串都已用尽。

引用 Python之禅可读性很重要 。 Pythonic =对我而言 可读性* ;i + j至少对于我的眼睛来说,更容易从视觉上进行解析。

python 2022/1/1 18:41:38 有267人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶