Search code examples
pythonstring-concatenation

paste0 like function in python for multiple strings


What I want to achieve is simple, in R I can do things like

paste0("https\\",1:10,"whatever",11:20),

how to do such in Python? I found some things here, but only allow for :

paste0("https\\",1:10).

Anyone know how to figure this out, this must be easy to do but I can not find how.


Solution

  • @Jason, I will suggest you to use any of these following 2 ways to do this task.

    ✓ By creating a list of texts using list comprehension and zip() function.

    Note: To print \ on screen, use escape sequence \\. See List of escape sequences and their use.

    Please comment if you think this answer doesn't satisfy your problem. I will change the answer based on your inputs and expected outputs.

    texts = ["https\\\\" + str(num1) + "whatever" + str(num2) for num1, num2 in zip(range(1,10),range(11, 20))]
    
    for text in texts:
        print(text)
    
    """
    https\\1whatever11
    https\\2whatever12
    https\\3whatever13
    https\\4whatever14
    https\\5whatever15
    https\\6whatever16
    https\\7whatever17
    https\\8whatever18
    https\\9whatever19
    """
    

    ✓ By defining a simple function paste0() that implements the above logic to return a list of texts.

    import json
    
    def paste0(string1, range1, strring2, range2):
        texts = [string1 + str(num1) + string2 + str(num2) for num1, num2 in zip(range1, range2)]
    
        return texts
    
    
    texts = paste0("https\\\\", range(1, 10), "whatever", range(11, 20))
    
    # Pretty printing the obtained list of texts using Jon module
    print(json.dumps(texts, indent=4))
    
    """
    [
        "https\\\\1whatever11",
        "https\\\\2whatever12",
        "https\\\\3whatever13",
        "https\\\\4whatever14",
        "https\\\\5whatever15",
        "https\\\\6whatever16",
        "https\\\\7whatever17",
        "https\\\\8whatever18",
        "https\\\\9whatever19"
    ]
    """