Pythonでテキストから奇数行をリストにしたい


以下のようなテキストの奇数行(英語の部分)のみを取り出してそれぞれ、同じリストの別の要素として収めたいです。どのようにすればいいでしょうか。

[code]

    a double line
    二列
    a far cry from 
    ～とはほど遠い
    a walk of life
    職業
    abandon
    ～を捨てる
    ・・・
    ・・・
    ・・・
    
[/code]

[code]

    # -*- coding: utf-8 -*-
    import re
    
    source = 'english_words.txt'
    
    with open(source, "r", encoding="utf-8") as f:
        data = f.read()
    
    
    english_words = re.findall('[a-z]+', data)
    ja = re.findall('\n.*\n',data)
    
    jp_meanings = []
    for word in ja:
        m = re.sub('\n','',word)
        jp_meanings.append(m)
    
    words_dict = dict(zip(english_words,jp_meanings))
    
    print(jp_meanings)
    
[/code]

現在のコードはこんな感じです。re.findallでは熟語の空白で要素がかわってしまい、うまくいかなかったので、行ごとに読み込むことにしました。




行毎に処理するだけなら正規表現は不要ですね。以下のようにできます。  
(ついでに前後の空白も削除しておきます。ちなみにsplitlines()は改行コード混在もOKです)

[code]

    # -*- coding: utf-8 -*-
    source = 'english_words.txt'
    
    with open(source, 'r', encoding='utf-8') as f:
        data = f.read().splitlines()
        english_words = [l.strip() for i, l in enumerate(data) if ((i%2) == 0)]
        jp_meanings = [l.strip() for i, l in enumerate(data) if ((i%2) != 0)]
    
    words_dict = dict(zip(english_words,jp_meanings))
    
    print(data)
    print(english_words)
    print(jp_meanings)
    print(words_dict)
    
[/code]




行毎に処理するだけなら正規表現は不要ですね。以下のようにできます。  
(ついでに前後の空白も削除しておきます。ちなみにsplitlines()は改行コード混在もOKです)

[code]

    # -*- coding: utf-8 -*-
    source = 'english_words.txt'
    
    with open(source, 'r', encoding='utf-8') as f:
        data = f.read().splitlines()
        english_words = [l.strip() for i, l in enumerate(data) if ((i%2) == 0)]
        jp_meanings = [l.strip() for i, l in enumerate(data) if ((i%2) != 0)]
    
    words_dict = dict(zip(english_words,jp_meanings))
    
    print(data)
    print(english_words)
    print(jp_meanings)
    print(words_dict)
    
[/code]

