【发布时间】:2019-07-25 08:23:30
【问题描述】:
给定字典:
{0: 'Hello', 1: 'Bob', 2: '!', 3: 'Hello', 4: 'Bob', 5: '?', 6: 'Hello', 7: 'Bob', 8: '!', 9: 'Hello', 10: 'Jane', 11: '!', 12: 'Hello', 13: 'Rob', 14: '?'}
我想提取这些文本,包括在 'Hello' 和 '!' 对之间并忽略对“你好”和“?”但我目前被卡住了。我只需要朝着正确的方向轻推就可以了。
到目前为止,我已经尝试对它们进行切片并得到以下结果:
{0: 'Hello', 2: '!', 3: 'Hello', 5: '?', 6: 'Hello', 8: '!', 9: 'Hello', 11: '!', 12: 'Hello', 14: '?'}
但现在我不知道如何配对这些值。例如对 0,2 然后对 7,8 然后最后是 9,11。
这是我做的方法
def split(array):
print(array)
names = {'Hello','?','!'}
lst = {key:value for key, value in array.items() if value in names}
print(lst)
【问题讨论】:
-
配对是什么意思
-
请说明您的任务。由于您的 dict 具有连续的索引,因此列表会更合适。事实上,字典在 python 3.7 之前没有排序,不能被切片。
-
你的预期输出是什么?
-
我的预期输出如下: ['Hello','Bob','!', 'Hello','Bob','!','Hello','Jane','! ']
标签: python-3.x pandas text-extraction