【发布时间】:2013-05-16 01:30:52
【问题描述】:
我有几个 Python 列表,格式如下:
rating = ['What is your rating for?: Bob', 'What is your rating for?: Alice', 'What is your rating for?: Mary Jane']
opinion = ['What is your opinion of?: Bob', 'What is your opinion of?: Alice', 'What is your opinion of?: Mary Jane']
我正在尝试编写一个函数来评估给定列表并从中生成两个数据结构:
- 冒号 (:) 后出现的名称列表
- 一个字符串变量,其中包含在冒号 (:) 之前重复的文本
理想情况下,这两个项目都将根据原始列表名称命名。此外,分隔符和它后面的第一个空格应该被忽略。
上述两个示例的所需样本输出:
rating_names = ['Bob', 'Alice', 'Mary Jane']
rating_text = 'What is your rating for?'
opinion_names = ['Bob', 'Alice', 'Mary Jane']
opinion_text = 'What is your opinion of?'
我已经能够通过从每个列表项中删除一个固定字符串来使其适用于单个列表,但还没有完全弄清楚如何使它适用于分隔符之前的可变数量的字符和潜在的后面有两个词的名字(例如“玛丽珍”)。
rating_names = ([s.replace('What is your rating for?': ','') for s in rating])
【问题讨论】:
标签: python regex string list delimiter