我有一个包含字符串列表的文件。这是文件:
['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']
请求我提出任何方法。
答案 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)
它总会返回一个包含列表中每个元素的第一个单词的列表。