从包含字符串和数字的列表中获取值
Get the value from the list with strings and numbers
需要获取最接近的值
mylist=['A-B-10','A-B-20','A-B-50']
number=70
Output=A-B-50
最近的两个值
Output=A-B-50,A-B-20
尝试过
min(range(len(mylist)), key = lambda i: abs(mylist[i]-number))
该列表是字符串,它不起作用。任何对此进行解码并用于简单功能的方法。
要获得最接近的值,您需要从字符串中提取整数值:
out = min(mylist, key=lambda i: abs(int(i.split("-")[-1]) - number))
print(out)
打印:
A-B-50
获取两个最接近的数字:
val1 = min(mylist, key=lambda i: abs(int(i.split("-")[-1]) - number))
mylist.remove(val1)
val2 = min(mylist, key=lambda i: abs(int(i.split("-")[-1]) - number))
print(val1, val2)
打印:
A-B-50 A-B-20
需要获取最接近的值
mylist=['A-B-10','A-B-20','A-B-50']
number=70
Output=A-B-50
最近的两个值
Output=A-B-50,A-B-20
尝试过
min(range(len(mylist)), key = lambda i: abs(mylist[i]-number))
该列表是字符串,它不起作用。任何对此进行解码并用于简单功能的方法。
要获得最接近的值,您需要从字符串中提取整数值:
out = min(mylist, key=lambda i: abs(int(i.split("-")[-1]) - number))
print(out)
打印:
A-B-50
获取两个最接近的数字:
val1 = min(mylist, key=lambda i: abs(int(i.split("-")[-1]) - number))
mylist.remove(val1)
val2 = min(mylist, key=lambda i: abs(int(i.split("-")[-1]) - number))
print(val1, val2)
打印:
A-B-50 A-B-20