Python 如何在字符串数组中查找整数?
我想按顺序打印数组的项(字符串)。顺序是首先打印包含最小数字的字符串,以此类推 我想对数组字符串中的最大整数使用max number变量,但我不确定如何使用 伪代码:Python 如何在字符串数组中查找整数?,python,python-3.x,Python,Python 3.x,我想按顺序打印数组的项(字符串)。顺序是首先打印包含最小数字的字符串,以此类推 我想对数组字符串中的最大整数使用max number变量,但我不确定如何使用 伪代码: array = ['Tom 7','Thomas 3','Toby 2','Dominic 4','Henry 7'] maxnumber = #largest integer in the arrays strings for i in array: for n in in range(0,maxnumber)
array = ['Tom 7','Thomas 3','Toby 2','Dominic 4','Henry 7']
maxnumber = #largest integer in the arrays strings
for i in array:
for n in in range(0,maxnumber)
if n in array[i]:
print(array[i])
您可以使用
sorted
和lambda
函数,根据每个项目中的数字值对项目进行排序
>>> array = ['Tom 7','Thomas 3','Toby 2','Dominic 4','Henry 7']
>>> ordered = sorted(array, key=lambda i: int(i.split()[1]))
>>> ordered
['Toby 2', 'Thomas 3', 'Dominic 4', 'Tom 7', 'Henry 7']
如果数字可以出现在字符串中的任何位置,则可以使用正则表达式查找它们
import re
array = ['Tom 7','Thomas 3','Toby 2','Dominic 4','Henry 7']
for i in sorted(array, key=lambda s: int(re.findall(r'\d+', s)[0])):
print(i)
这将产生:
Toby 2
Thomas 3
Dominic 4
Tom 7
Henry 7
您的输入是否总是采用
“字号”
?