我目前正在学习使用googles教育的python,并且对这两个答案中的最佳实践提出了一个快速的问题。谷歌回答和我的方式。
运动指南:
# D. MixUp
# Given strings a and b, return a single string with a and b separated
# by a space '<a> <b>', except swap the first 2 chars of each string.
# e.g.
# 'mix', pod' -> 'pox mid'
# 'dog', 'dinner' -> 'dig donner'
# Assume a and b are length 2 or more.
谷歌代码:
def mix_up(a, b):
# +++your code here+++
# LAB(begin solution)
a_swapped = b[:2] + a[2:]
b_swapped = a[:2] + b[2:]
return a_swapped + ' ' + b_swapped
# LAB(replace solution)
# return
# LAB(end solution)
我的代码:
def mix_up(a, b):
return '%s %s' % (b[0:2] + a[2:], a[0:2] + b[2:])
使用哪种更好的做法以及背后的原因是什么?
任何帮助将不胜感激!谢谢!
答案 0 :(得分:0)
此问题可能更适合https://codereview.stackexchange.com/
正如Burhan Khalid所说,a[0:2]
与a[:2]
相同(这对我来说似乎更具可读性)。
今天python程序员使用
"{} {}".format(b[:2] + a[2:], a[:2] + b[2:])
此版本和您的版本可能会更好。见https://softwareengineering.stackexchange.com/questions/304445/why-is-s-better-than-for-concatenation
就初学者级别而言,Google代码可能会胜出。