同样结果的最佳实践 - Python

时间:2017-04-30 06:42:57

标签: python

我目前正在学习使用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:])

使用哪种更好的做法以及背后的原因是什么?

任何帮助将不胜感激!谢谢!

1 个答案:

答案 0 :(得分:0)

此问题可能更适合https://codereview.stackexchange.com/

正如Burhan Khalid所说,a[0:2]a[:2]相同(这对我来说似乎更具可读性)。

今天python程序员使用

"{} {}".format(b[:2] + a[2:], a[:2] + b[2:])

例如参见:https://pyformat.info/

此版本和您的版本可能会更好。见https://softwareengineering.stackexchange.com/questions/304445/why-is-s-better-than-for-concatenation

就初学者级别而言,Google代码可能会胜出。