python - 在列表元素的选定部分中查找子字符串

标签 python string list list-comprehension python-3.5

我有下面的字符串列表(list1),我想查找 str b 是否存在于 list1 中小数点之前元素左侧部分的任何位置。

我尝试了下面的代码,但它找到了 str b 所在的所有元素。

list1= ['4.39', '5.25', '2.29', '3.16', '4.19', '1.5', '4.17', '2.18', '5.18', '4.18', '5.16', '4.4']
b=str(1)
print([s for s in list1 if b in s])

它返回以下内容:

['3.16', '4.19', '1.5', '4.17', '2.18', '5.18', '4.18', '5.16']

但是,我只想得到 1.5 因为这是字符串 b 与小数点之前的左侧部分匹配的唯一元素。请记住,元素采用字符串格式。有什么快速方法可以检查这个东西吗?

最佳答案

您需要按 . 分割每个字符串并提取第一个分割:

print([s for s in list1 if '1' in s.split('.')[0]])

['1.5']

要精确匹配,请使用==:

print([s for s in list1 if s.split('.')[0] == '1'])

['1.5']

关于python - 在列表元素的选定部分中查找子字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53434191/

相关文章:

python - 我无法使 event.key 语句起作用

python - 在 python 中制作真值表

PHP函数替换第(i)位字符

ruby - 如何用另一个子字符串替换子字符串(按索引 from..to)

c# - 读取字符串每个数字c#

python - 将理解列表打印为字符串

python - python中的networkx用于删除节点

python - 评估步骤中的权重衰减 - Tensorflow

c++ - 当转换为 PUCHAR 并打印到控制台时,硬编码字符串给出的结果与从控制台读取的字符串不同

c# - 多维列表 C#