如何在字符串数组中找到整数?

时间:2018-07-06 15:16:44

标签: 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)

      if n in array[i]:

           print(array[i])

2 个答案:

答案 0 :(得分:2)

您可以将sortedlambda函数一起使用,以根据每个项目中数字的值对项目进行排序

>>> 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']

答案 1 :(得分:0)

如果数字可以出现在字符串的任何位置,则可以使用正则表达式查找它们。

fundCode_raw = ['FUND1','FUND2','FUNDETC']
fundCode_str = '_'.join(fundCode_raw)

>> fundCode_str
'FUND1_FUND2_FUNDETC'

这将输出:

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)