我有一个以这种方式格式化的职位名单(总共12,000):
Career_List = ['1) ABLE SEAMAN', '2) ABRASIVE GRADER', '3) ABRASIVE GRINDER']
如何从列表元素中删除数字,括号和空格,以便最终得到此输出:
Career_List_Updated = ['ABLE SEAMAN', 'ABRASIVE GRADER', 'ABRASIVE GRINDER']
我知道我无法简单地删除前三个字符,因为我的列表中有十个以上的项目。
答案 0 :(得分:2)
利用str.lstrip()
和其他strip
函数接受多个字符作为参数的事实。
Career_List_Updated =[career.lstrip('0123456789) ') for career in Career_List]
答案 1 :(得分:1)
在第一个空间分开每个职业;保持其余部分。
Career_List = ['1) ABLE SEAMAN', '2) ABRASIVE GRADER', '3) ABRASIVE GRINDER', '12000) ZEBRA CLEANER']
Career_List_Updated = []
for career in Career_List:
job = career.split(' ', 1)
Career_List_Updated.append(job[1])
print Career_List_Updated
输出:
['ABLE SEAMAN', 'ABRASIVE GRADER', 'ABRASIVE GRINDER', 'ZEBRA CLEANER']
单行版本:
Career_List_Updated = [career.split(' ', 1)[1] \
for career in Career_List]
答案 2 :(得分:0)
我们希望找到第一个STOPS为坏字符的索引,并返回字符串的其余部分,如下所示。
def strip_bad_starting_characters_from_string(string):
bad_chars = set(r"'0123456789 )") # set of characters we don't like
for i, char in enumerate(string):
if char not in bad_chars
# we are at first index past "noise" digits
return string[i:]
career_list_updated = [strip_bad_starting_characters_from_string(string) for string in career_list]