【问题标题】:Find max value when string contains alphabets [duplicate]当字符串包含字母时查找最大值[重复]
【发布时间】:2020-10-20 07:36:05
【问题描述】:

我有一个字符串为('3% Spandex,60% Polyester,7% Cotton,30% Other'),我想提取最大值,在这种情况下为60% Polyester 因此,我认为如果我将字符串拆分为一个列表,然后剥离所有数值,这将使我能够找到最大值的位置并使用它找到最大值,它会起作用。 但这是一个漫长的过程,我想这会减慢我的速度。还有其他方法吗?

【问题讨论】:

  • 你只关心数字部分吗?
  • @DavidS 不,最终目标是找到最高的成分,这里是 60% 的聚酯
  • 看起来您正在寻找创建一个正则表达式,但不知道从哪里开始。请查看Reference - What does this regex mean 资源,它有很多提示。此外,请参阅 Learning Regular Expressions 帖子了解一些基本的正则表达式信息。一旦您准备好表达方式,但解决方案仍然存在问题,请使用最新的详细信息编辑问题,我们很乐意帮助您解决问题。
  • 您必须以某种方式遍历它们,但您可以通过使用字符串操作跳过列表部分。 IE。正则表达式
  • sorted('3% Spandex,60% Polyester,7% Cotton,30% Other'.split(","),key=lambda x: int(x.split("%")[0]),reverse=True)[0]??无法发布答案,因为它已关闭。

标签: python regex string list strip


【解决方案1】:

以下应该有效:

res=' '.join(max([i.split() for i in s.split(',')], key=lambda x:int(x[0].split('%')[0])))

>>> print(res)
'60% Polyester'

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-07-19
    • 2016-03-26
    • 2017-06-13
    • 1970-01-01
    • 2014-09-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多