所以根据
Python的禅…明确比隐含更好…稀疏比密集更好…可读性计数…但是再次平坦比嵌套更好…那么哪个是pythonic?
val = "which is pythonic?" print("".join(reversed(val)))
要么
print(val[::-1])
我只是一个Java程序员学习Python,所以我发现这个pythonic的东西很有趣,因为在Java世界AFAIK没有模拟.
解决方法
我的妻子安娜昵称为x [:: – 1]“火星笑脸” – 我主要是屈服于她(以及她在培训和长期的人文心理学和研究方面的经验),当谈到判断对大多数人来说,什么是容易和自然的,她绝对喜欢武术笑脸. “向后走” – 比“反转然后再加回”的详细规范多多直接和高抽象!
此外,python -mtimeit通常是对Pythonic的好评价:顶级Pythonistas多年来一直倾向于优化他们最常需要和使用的内容,所以非常实质的性能差异告诉你“与谷物”的语言及其顶尖从业者.根据这个分数,火星人的笑脸击败了详细的规格手法:
$python -mtimeit '"".join(reversed("hello there!"))' 100000 loops,best of 3: 4.06 usec per loop $python -mtimeit '"hello there!"[::-1]' 1000000 loops,best of 3: 0.392 usec per loop