Ad
  • Custom User Avatar

    I'm going to be very blunt because I'm growing very sick of comments like these. If this solution is bad practice or hardcore to you, then you shouldn't be doing Python. Plain and simple. There are many scenarios where one liners are bad, and this is not one of them. Under most style guides, this is the way to solve this problem. This is how it is done in production. Your solution has poor performance and looks like spaghetti - the gall to try and knock on the doors of better solutions talking about "not smart, but abstruse and overcomplicated." It is not the job of others to use simple language constructs to appease you. Look inwards and try to explore the language better.

  • Custom User Avatar

    Some people like to write one-liners as a challenge, not everyone is setting out to write perfectly readable enterprise-level code. It's not their fault other people upvote them. Let people have their fun without the lecture.

    Not to mention, as far as python goes, this really isn't unreadable, it's pretty clear what this does.

  • Custom User Avatar

    Buddy, what is the overcomplication of this solution? Everything is simple and clear

  • Custom User Avatar

    no it works for all kinds of words. the reason it works is calling split(' ') on strings with double or arbitrarily spaced characters produced empty strings in the return value, and when you call .join() all the empty strings are joined back with spaces between them. the empty strings from splitting multi-spaced strings act as placeholders for when the string is re-formed so the spacing is preserved

  • Custom User Avatar
  • Custom User Avatar

    Writing everything in one line is a bad practice. It's just bragging about its tricky hardcore solution. It's too bad that many people called this solution "best practice" and "clever". This is a bad practice. And the solution is not smart, but abstruse and overcomplicated.

    The solution from fortlasagna is much better. He generally does the same thing. But his code is much better structured and much better readable. Here he really shows the best practice.

  • Custom User Avatar

    I missed the "All spaces in the string should be retained" part!
    Other than that I got it! Wohoo!

  • Custom User Avatar

    This is a great solution for double and single spaces! But for anything more you'll need to utilize RegEx

  • Custom User Avatar

    If you split for example "a__b" (double space instead of underscores) into a list, it will result in ["a", "", "b"].
    When you join it later, there will be one space between "a" and the empty string "" - and another space between the empty string and "b". Therefore you end up keeping the double space like in the original string.

  • Custom User Avatar

    This comment is hidden because it contains spoiler information about the solution

  • Custom User Avatar

    A constraint that the strings wouldn't contain triple-spaces or even larger, was not stated so this solution also works well for those cases (I just tested) - well done.

  • Custom User Avatar

    I managed to solve after like an hour by adding space as a seperator but I don't know why it actually works this way

  • Custom User Avatar

    This comment is hidden because it contains spoiler information about the solution

  • Custom User Avatar

    This comment is hidden because it contains spoiler information about the solution

  • Custom User Avatar

    This is the first question after 50+ challenges where I got the exact same solution as the top one.I would always get like the 3rd,4th best practice.
    Just keep doing these and look at other people's solutions and try figure out their thought process.

  • Loading more items...