簡體   English   中英

Python:如何用列表中的下一個值替換出現的子字符串?

[英]Python: How to replace substring occurrences with next values from list?

我有以下字符串和列表:

myString = "a:::b:::c:::d ..... "  where ':::' is sort of delimiter
myList = [1,2,3,4.......]

我知道如何循環遍歷列表值,但是如何用列表中的下一個值替換每次出現的':::',這樣我的最終輸出如下:

myString = "a1b2c3d ...."

快速與骯臟:

myString = "a:::b:::c:::d"
myList = [1,2,3,4]

s = iter(myString.split(":::"))

print(next(s) + "".join(str(y)+x for x,y in zip(s,myList)))

打印a1b2c3d

l = myString.split(":::")    
result = "".join([x + str(y) for (x,y) in zip(l, myList)])

這是我解決的方法。

def join_string_and_list( string, list ):
    string = string.split(":::")
    for i in range(0, len(string)):
        if string[i] != '' and len(list) > 0:
            string.append("{}{}".format(string.pop(0),list.pop(0)))

    return str("".join(string))

myString = "a:::b:::c:::d:::"  #where ':::' is sort of delimiter
myList = [1,2,3,4]

print(join_string_and_list( myString, myList ))

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM