繁体   English   中英

试图理解这一点

[英]Trying to understand this

有人可以解释一下这个python代码的工作方式。 我遇到它作为一个练习问题的解决方案,该问题要求我将莫尔斯电码转换为可读文本,考虑到存在包含代码解释的字典:要转换的代码:

decodeMorse('.... . -.--   .--- ..- -.. .')

解决方案:

return ' '.join(''.join(MORSE_CODE[letter] for letter in word.split(' ')) for word in morseCode.strip().split('   '))

我只是无法理解嵌套的 join() 方法解决方案

等效代码为

return ' '.join(''.join(MORSE_CODE[letter] for letter in word.split(' ')) for word in morseCode.strip().split('   '))

如下:

MORSE_CODE = {
  '.-': 'A',
  '-...': 'B',
  #...And so on
}

def decodeMorse(morseCode):
  result = []
  for word in morseCode.strip().split('   '):
    current_word = []
    for letter in word.split(' '):
      current_word.append(MORSE_CODE[letter])
    result.append(''.join(current_word))
  return ' '.join(result)

print(decodeMorse('.... . -.--   .--- ..- -.. .'))

它使用了多个Generator Expressions ,这完全是一个列表理解,但没有存储到列表中将代码拆分为单词,每个单词拆分为字母,然后翻译成字母和句子。

我希望这可以帮助您理解提供给您的代码。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM