今天有一个需求就是需要 在很长的字符串序列中找到长度最大的元素所处的初始索引,思路比较清晰主要分为两种:
1. 依据列表中字符串的长度值来寻求长度值最大位置处的索引
2. 依靠排序的方法
具体的实现如下:
#!usr/bin/env python
#encoding:utf-8
from __future__ import division
'''
__Author__:沂水寒城
功能:找到列表中字符串最长的位置索引
'''
def find_longest_str_index(str_list):
'''
找到列表中字符串最长的位置索引
先获取列表中每个字符串的长度,查找长度最大位置的索引值即可
'''
num_list=[len(one) for one in str_list]
return num_list.index(max(num_list))
def find_longest_str_index2(str_list):
'''
找到列表中字符串最长的位置索引
方法:先对列表按照字符串的长度进行降序排序,进而找到第一个元素的初始索引值即可
'''
return str_list.index(sorted(str_list,key=lambda k:len(k),reverse=True)[0])
if __name__ == '__main__':
str_list=['wearefamlily!','friends','we','dfg','netcdf','jjjjjjjjjjjjjjjjjj','higher']
print '-----------------------------------func_one result-----------------------------------'
print find_longest_str_index(str_list)
print '-----------------------------------func_two result-----------------------------------'
print find_longest_str_index2(str_list)
结果如下:
-----------------------------------func_one result-----------------------------------
5
-----------------------------------func_two result-----------------------------------
5
[Finished in 0.2s]