首页 > 解决方案 > 不能将序列乘以“str”类型的非整数(但它们是 str)

问题描述

请帮助我,我不明白这个错误。

我做了str,但它们不起作用,而且我有一个错误-不能将序列乘以'str'类型的非int

import re 
text = 'a3b4c2e13b1'

numbs = re.findall(r'\d\d|\d',text)
letters = re.findall(r'\D',text)

numbs_str = ','.join(numbs)
letters_str = ','.join(letters)

for i in range(len(letters_str)):
    result = letters_str[i] * numbs_str[i]

我需要从数字中得出这样的字母数量:a3b4c2e13b1 aaabbbbcceeeeeeeeeeeeee

标签: python

解决方案


zip这是使用and的一种方法str.join

前任:

import re
text = 'a3b4c2e13b1'

numbs = re.findall(r'(\d+)',text)
letters = re.findall(r'(\D)',text)

print("".join(k*int(v) for k, v in zip(letters, numbs)))

输出:

aaabbbbcceeeeeeeeeeeeeb

推荐阅读