gpt4 book ai didi

PYTHON:访问字典中列表列表的元素

转载 作者:太空宇宙 更新时间:2023-11-04 02:17:51 26 4
gpt4 key购买 nike

我必须检查一个单词的每个发音,我是这样存储的:每个单词都在字典中(下面称为 wordAndPron),并且该字典中的每个单词都有多个发音存储为列表。

{ 'RECORD' : 

[ ['R', 'AH0', 'K', 'AO1', 'R', 'D'],

['R', 'EH1', 'K', 'ER0', 'D'],

['R', 'IH0', 'K', 'AO1', 'R', 'D']]

}

{ 'MORTGAGE' :

[ ['M', 'AO1', 'R', 'G', 'AH0', 'JH'],

['M', 'AO1', 'R', 'G', 'IH0', 'JH']]

}

如何访问每个列表的元素?那么每个音素(如“R”和“AH0”)的位置是什么?

我将使用 for 循环遍历音素并将其相互比较(寻找押韵词),但我不确定该怎么做。

def primary_stress_position(wordAndPron):
stress = ''
stressedPosition = 0
phoneme = 0
for phoneme in wordAndPron.values(): # <<< Problem area
if phoneme.endswith('1'):
stress = phoneme
stressedPosition = position
position += 1
return stress, stressedPosition

如果这是一个非常明显/简单的问题,我深表歉意,但我只是从 Java 开始学习 Python,并且只上了一门其他编程类(class)!

这是类作业。我不是在问如何编写整个程序,而是在问如何访问各个元素。

最佳答案

由于 wordAndPron 字典的唯一值是列表的列表,您可以使用嵌套的 for 循环来访问其中的音素。由于每个单词有多个发音,而不是只返回列表中第一个发音的重读音素,您应该使函数 yield 成为查找结果,以便调用者可以获得一个单词的所有发音来自生成器的给定单词:

def primary_stress_position(wordAndPron):
for entry in wordAndPron.values()[0]:
for pron in entry:
stress = ''
stressedPosition = None
position = 0
for phoneme in pron:
if phoneme.endswith('1'):
stress = phoneme
stressedPosition = position
break
position += 1
yield stress, stressedPosition

关于PYTHON:访问字典中列表列表的元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52240981/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com