簡體   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