def gen(filename):
result=[]
with open(filename) as sample:
for line in sample.read().splitlines():
for ch in line.split():
result.append(ch)
yield ch
return result
「ABCDEF」を渡すと、「 "A"、 "B"」の代わりに["ABCDEF" "C"、 "D"、 "E"、 "F"]リストに新しい項目を追加するのではなく、最初のリスト項目に内容を追加します。
何が問題なのですか?
また、発電機を正しく使用していますか?そうでなければ、何が間違っているのですか?私が概念を把握に近いですが、私はかなりそこはまだないですし、リストを追加することが
EDIT逆発電機を作るかもしれないと感じて:
with filled_filename("ABCDEF") as fn:
self.assertEqual(list(project.gen(f)), ["A","B","C","D","E","F"])
print(list(project.gen(ff)))
"カンマを追加する"かどうかは問題ではなく、リストに追加するか、リストの最初の要素である文字列に追加するかは問題です。 –
カンマは、リストを表示するために使用される構文に過ぎません。実際には内容としてコンテンツに含まれません。 –
と言っていますが、明白な答えは、 'for ch in line.split()'ではなく 'for ch in line'を使うことです。 'split()'は空白を分割し、あなたの行は空白を持ちません。 –