繁体   English   中英

如果字符串包含密钥 substring,是否存在用于重复字符串的 Python function?

[英]Is there a Python function for repeating a string if the string contains a key substring?

假设我有一个简单的列表,例如“apples、bananasx2、orangesx3、pears”。

是否有 function 可以将其转换为“苹果、香蕉、香蕉、橙子、橙子、橙子、梨”?

我试图编写一个 if 循环,但我不知道如何识别数字并按该数字重复字符串。 此信息当前位于 dataframe 列中,但并非必须如此。

不确定这是否是最快的,但您可以使用:

import re    
l = []
for elem in ["apples", "bananasx2", "orangesx3", "pears"]:
    if re.search(".*x\d", elem):
        word, occurrence = elem.rsplit("x", 1)
        l += [word] * int(occurrence)
    else:
        l.append(elem)

我更喜欢更优雅的代码。 但它有效。

lis = ["apples", "bananasx2", "orangesx3", "pears"]

for index, i in enumerate(lis) :
    if  i[-2:-1] == "x" and i[-1].isnumeric:
        lis[index] = i[:-2]
        for num in range(int(i[-1])-1):
            lis.append(i[:-2])
        

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM