从其中的一个字符串中查找数组子节索引(python 3.4.2)

时间:2015-01-30 22:20:08

标签: arrays python-3.x indexing

这个问题与我之前提出的问题非常相似......但不一样! 这是我目前的代码(感谢Kasra AD!):

def find_index(name,l=sav) :
    for i,j in enumerate(l) :
         if name in j :
              print ('index is : {}'.format(i))

然后,您将输入子部分中出现的字符串的名称,它将打印出该子部分的索引。例如,如果数组是这样的:

sav = sav = [['Joseph', 'Alex', 'Josh'], ['James', 'Harvey', 'Nat']]

你输入了find_index(' Alex')它会打印出来' 0'。但是,我想更改它,以便如果名称多次出现在数组中,则只计算第一次,并将结果存储在变量中(作为字符串)。 我希望输出只是名称的第一个子节的索引,存储在变量中。 任何建议/解决方案都有帮助(请记住,我只是一个初学者)。谢谢!

修改 最终输出:

sav = [['Joseph', 'Alex', 'Josh'], ['James', 'Harvey', 'Nat']], ['Alex', 'Harvey', 'Harry']

运行代码后,使用' Harvey'来查找第一个子部分的索引。在:

sub_index = '1'

1 个答案:

答案 0 :(得分:0)

您只需要return代替print

>>> def find_index(name,l=sav) :
...     for i,j in enumerate(l) :
...          if name in j :
...               return ('index is : {}'.format(i))
... 
>>> find_index('Harvey',sav)
'index is : 1'