2016-12-18 12 views
-4

私は文字列のリストを含むファイルを持っています。Pythonの文字列内の特定の文字を置換する

['Alabama', 
'Auburn (Auburn University)[1]', 
'Florence (University of North Alabama)', 
'Jacksonville (Jacksonville State University)[2]', 
'Livingston (University of West Alabama)[2]', 
'Montevallo (University of Montevallo)[2]', 
'Troy (Troy University)[2]', 
'Tuscaloosa (University of Alabama, Stillman College, Shelton State)[3][4]', 
'Tuskegee (Tuskegee University)[5]', 
'Alaska', 
'Fairbanks (University of Alaska Fairbanks)[2]', 
'Arizona', 
'Flagstaff (Northern Arizona University)[6]', 
'Tempe (Arizona State University)', 
'Tucson (University of Arizona)', 
'Arkansas', 
'Arkadelphia (Henderson State University, Ouachita Baptist University)[2]', 
'Conway (Central Baptist College, Hendrix College, University of Central 
Arkansas)[2]'] 

私のように文字列値を持つリストを含むリストを作成する必要があります:

['Alabama', 
'Auburn', 
'Florence', 
'Jacksonville', 
'Livingston', 
'Montevallo', 
'Troy', 
'Tuscaloosa', 
'Tuskegee', 
'Alaska', 
'Fairbanks', 
'Arizona', 
'Flagstaff', 
'Tempe', 
'Tucson', 
'Arkansas', 
'Arkadelphia', 
'Conway'] 

嘆願は私にこれを行うにはどのような方法を提案する。ここファイルです。

+1

これまでに何を試みましたか?あなたの例に示されているテキストは、ファイル内の正確なテキストですか、それともPythonのリストに読み込まれた後の見た目ですか? –

+1

コードを書くことをお勧めします。 – jonrsharpe

+0

'[i.split( '(')[0] for my_list]' – piRSquared

答えて

0
  • マップ関数であり、あなたが文字列から、あなたが望む結果を得るためにあなたの関数を定義することができます

  • 配列の各要素に機能を適用するために使用されているPythonで

    、おそらく最初のスペース ""で文字列を切り捨てます!

    with open('data.txt', 'r') as data_file: 
        data = data_file.read() 
        raw_elements = data.replace('\n', '').strip('[]').split(',') 
        elements = map((lambda item: item.strip("'").split(' ')[0]), raw_elements) 
        print elements 
    

    基本的には、ファイル全体を読み込み、新しい行を排除し、角括弧を削除します。あなたは

1

は(あなたのファイルパスとdata.txtを置き換える)、これを試してみてください...別のものを試してみる必要があります最初と最後から、コンマでコンテンツを分割し、各文字列から'を削除し、空白を使用して各要素を再び分割し、最初の部分を取ります。

0

私はちょうどそれは常にあなたのリストのすべての要素の最初の単語を含むリストを返します

map(lambda x: x.split(" ")[0], a) 

のようなものを書くでしょう。

関連する問題