我有几个以下格式的 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])