我正在看以下格式的列表
lst = [ '1,000 per month', '1,200 per month', '300 per week', '1,200 per month']
并尝试创建一个循环,该循环运行并将任何带有“month”的字符串转换为其int值,但对于任何包含“week”的字符串,将其转换为int,然后应用int*52/12的计算(本质上是将周值转换为月值)。因此,列表应如下所示
new_lst = ['1000', '1200', '1300', '1200']
下面是我讨厌的企图
for i in lst:
if string.find('week'):
return [re.sub("[^0-9]", "", s) for i in lst] * 52 / 12
else:
return [re.sub("[^0-9]", "", s) for i in lst]
哈尔蒙已经给了你一个明确的答案,我对他的答案投了赞成票。你应该用这个作为你的回答
然而,如果你正在寻找一个列表理解,这里是你可以着手做的
输出将根据您对字符串的要求:
如果输入为:
输出将是:
保持一年不变
这应该行得通
输出:
你真的很接近
我们可以循环浏览列表,并在适当的位置修改列表。对于每个字符串,我们检查您想要的单词是否在其中。如果是,我们将继续使用正则表达式删除除数字以外的所有内容,并最终将字符串转换为int:
注意:如果我们使用
/
进行除法,那么答案将以浮点形式出现。然而,如果我们使用//
,我们进行整数除法,结果仍然是整数相关问题 更多 >
编程相关推荐