Python 基于索引获取列表中单词中字母的索引

Python 基于索引获取列表中单词中字母的索引,python,string,list,numpy,itertools,Python,String,List,Numpy,Itertools,假设我有一个单词列表: l = ['example', 'to', 'a', 'list', 'of', 'words'] 我得到一个索引I,比如说10 我需要返回l中包含第I个字符的单词内的字母索引 所以在10的例子中,由于第10个元素(以零为基)是单词列表中的l-我需要返回的是0,因为l是单词中的第一个字母 例如,对于i=17,输出将为1,因为17表示单词中的字母o,而单词中的o的索引为1 我一直在想一个简单的方法来做这件事,但我没有找到优雅的东西 任何帮助都将不胜感激 我问了一个类似的问

假设我有一个单词列表:

l = ['example', 'to', 'a', 'list', 'of', 'words']
我得到一个索引I,比如说
10

我需要返回
l
中包含第I个字符的单词内的字母索引

所以在10的例子中,由于第10个元素(以零为基)是单词
列表中的
l
-我需要返回的是0,因为
l
是单词中的第一个字母

例如,对于i=17,输出将为
1
,因为17表示
单词中的字母
o
,而
单词中的
o
的索引为1

我一直在想一个简单的方法来做这件事,但我没有找到优雅的东西

任何帮助都将不胜感激

我问了一个类似的问题,在这里得到了很好的答案:

但是找不到一个好方法来修改我需要的答案

l = ['example', 'to', 'a', 'list', 'of', 'words']
index = 10

fl = [(c[1], c[0], w[1], w[0]) for w in enumerate(l) for c in enumerate(w[1])]

print('char = ' + fl[index][0] +
        ', index in word = ' + str(fl[index][1]) +
        ', word = ' + fl[index][2])

# char = l, index in word = 0, word = list
如果您只需要单词中的索引:

fl2 = [c[0] for w in enumerate(l) for c in enumerate(w[1])]
print('index in word = ' + str(fl2[index]))

# index in word = 0

您在上一个问题中接受的解决方案(查找单词):

解决新问题的简单修改(在word中查找索引):


该解决方案可能比公认的解决方案简单得多(
l
是您的文字欲望,
i
是字母索引):


您可以使用任何字母表(在本例中,我使用了
'abcdefghijklmnopqrstuvwxyz'
)。另外,为
next
函数设置默认值也很重要,否则可能会出现异常。

请根据您的需要编辑您的问题。@SayandipDutta-什么不清楚?以前很清楚,您的评论不清楚,您不能稍微修改一下您的答案吗?为什么我看不到你的任何尝试?这一点都不完全不同,调整你在那里接受的答案也很简单。
c = count()
print(next(s for s in l for _, i in zip(s, c) if i == 10))
c = count()
print(next(j for s in l for j, i in zip(range(len(s)), c) if i == 10))
from string import ascii_lowercase as alphabet

result = next((idx for idx, x in enumerate(l) if alphabet[i] in x), None)