替换python中字符串中的特定字符

时间:2016-12-18 16:03:09

标签: python string pandas

我有一个包含字符串列表的文件。这是文件:

['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']

请求我提出任何方法。

3 个答案:

答案 0 :(得分:1)

尝试此操作(将data.txt替换为您的文件路径):

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

基本上它读取整个文件,删除新行,从开头和结尾删除方括号,用commmas分割内容,从每个字符串中删除',再使用白色分割每个元素 - 空间并占据第一部分。

答案 1 :(得分:0)

  • 在Python中有一个 map 函数,它用于将函数应用于数组中的每个元素

  • 您可以定义函数以从字符串中获取所需内容,也可以在第一个空格“”中截断字符串!你需要尝试不同的东西......

答案 2 :(得分:0)

我会写一些类似

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

它总会返回一个包含列表中每个元素的第一个单词的列表。