我有一个这样的列表。如何使用python从我的列表中消除\ xe2 \ x80 \ x99,\ xe2 \ x80 \ x9c等。无论如何,有没有要从我的清单中删除这类数据?
常见的模式是否合适?


  ['guest','demo',':','eric','iverson','\ xe2 \ x80 \ x99s','itty',
  'bitty','search','february','16','th',',','2010','by',
  'daniel','tunkelang','respond','i','\ xe2 \ x80 \ x99m','back',
  “来自”,“度假”,“,”,“和”,“静止”,“挖掘”,“我”,“前进”,
  'out','of','everything','that','\ xe2 \ x80 \ x99s','piled','up',
  'while','i','\ xe2 \ x80 \ x99ve','been','offline','while','i',
  'catch','up',',','i','thought','i','\ xe2 \ x80 \ x99d','share',
  “ with”,“ you”,“ a”,“ demo”,“ that”,“ eric”,“ iverson”,“ was”,
  “亲切”,“足够”,“愿意”,“分享”,“与”,“我”,“它”,“用途”,
  'yahoo','!','boss','to','support','an','exploratory','search',
  “体验”,“在”,“顶部”,“的”,“一个”,“一般”,“网络”,“搜索”,
  “引擎”,“何时”,“您”,“执行”,“一个”,“查询”,“,”,“该”,
  “应用程序”,“检索”,“ a”,“集合”,“ of”,“相关”,“条款”,
  '候选人','使用中','雅虎','\ xe2 \ x80 \ x99s','密钥','术语',
  “ api”,“ it”,“ then”,“ scores”,“ each”,“ term”,“ by”,“ divide”,“ it”,
  “是”,“出现”,“计数”,“内部”,“该”,“结果”,“设置”,“依据”,
  'it','is','global','occurrence','count','\ xe2 \ x80 \ x93a',
  “相关性”,“度量”,“相似”,“与”,“一个”,“我的”,“前任”,
  '同事','和','i','二手','at','endeca','in','企业',
  “上下文”,“您”,“可以”,“尝试”,“退出”,“该”,“演示”,“您自己”,
  'at','http',':// www','ittybittysearch','com','/','while','it',
  “具有”,“粗糙”,“边缘”,“,”,“它”,“产生”,“不错”,“结果”,
  '\ xe2 \ x80 \ x93特别是','正在考虑','the','simplicity','of',
  'the','approach','here','\ xe2 \ x80 \ x99s','an','example','of',
  “如何”,“我”,“使用”,“该”,“应用”,“至”,“探索”,“与”,
  “学习”,“某物”,“新”,“我”,“开始”,“有”,“ [””,
  '信息','检索','“]','i','已通知','\ xe2 \ x80 \ x9c',
  '互动式','信息','检索式','\ xe2 \ x80 \ x9d','as','a',
  “ top”,“ term”,“,”,“ so”,“ i”,“ used”,“ it”,“ to”,“ refine”,“ most”,
  “的”,“的”,“提炼”,“建议”,“看起来”,“熟悉”,“到”,
  'me','\ xe2 \ x80 \ x93but','an','不熟悉','名称','被抓','我的'
  'attention',':','\ xe2 \ x80 \ x9c','anton','leuski','\ xe2 \ x80 \ x9d',
  “跟随”,“我”,“好奇心”,“,”,“ i”,“精炼”,“再次”,
  “看”,“在”,“该”,“结果”,“,”,“ i”,“立即”,“看到”,
  “ that”,“ leuski”,“ had”,“ done”,“ work”,“ on”,“ evaluating”,
  “文档”,“集群”,“用于”,“互动”,“信息”,
  “检索”,“进一步”,“探索”,“制造”,“它”,“清晰”,“此”,
  “是”,“某人”,“其”,“工作”,“我”,“应该”,“得到”,“到”,“知道”,
  '\ xe2 \ x80 \ x93check','out','his','home','page','!','i','can',
  '\ xe2 \ x80 \ x99t','promise','that','you','\ xe2 \ x80 \ x99ll','have',
  “作为”,“生产”,“一个”,“经验”,“作为”,“我”,“完成”,“,”,“但是”,
  'i','鼓励','您','到','尝试','eric','\ xe2 \ x80 \ x99s','演示',
  'it','\ xe2 \ x80 \ x99s','simple','examples','like','these','that',
  “提醒”,“我”,“ of”,“ the”,“ value”,“ of”,“追求”,“ hcir”,“ for”,
  'the','open','web','speaking','of','which',',','hcir','2010',
  '是','在','在','作品','我们','\ xe2 \ x80 \ x99ll','肉','出',
  “ the”,“ details”,“ over”,“ the”,“ next”,“ weeks”,“,”,“ and”,“ of”,
  “课程”,“ i”,“ \ xe2 \ x80 \ x99ll”,“共享”,“他们”,“这里”]

最佳答案

如果我可以猜测输入是utf8编码,则可以执行以下操作:

>>> from unidecode import unidecode
>>> my_list = ['guest', 'demo', ':', 'eric', 'iverson', '\xe2\x80\x99s', 'itty', 'bitty', 'search', 'february', '16', 'th', ',', '2010', 'by', 'daniel', 'tunkelang', 'respond', 'i', '\xe2\x80\x99m', 'back', 'from', 'vacation', ',', 'and', 'still', 'digging', 'my', 'way', 'out', 'of', 'everything', 'that', '\xe2\x80\x99s', 'piled', 'up', 'while', 'i', '\xe2\x80\x99ve', 'been', 'offline', 'while', 'i', 'catch', 'up', ',', 'i', 'thought', 'i', '\xe2\x80\x99d', 'share', 'with', 'you', 'a', 'demo', 'that', 'eric', 'iverson', 'was', 'gracious', 'enough', 'to', 'share', 'with', 'me', 'it', 'uses', 'yahoo', '!', 'boss', 'to', 'support', 'an', 'exploratory', 'search', 'experience', 'on', 'top', 'of', 'a', 'general', 'web', 'search', 'engine', 'when', 'you', 'perform', 'a', 'query', ',', 'the', 'application', 'retrieves', 'a', 'set', 'of', 'related', 'term', 'candidates', 'using', 'yahoo', '\xe2\x80\x99s', 'key', 'terms', 'api', 'it', 'then', 'scores', 'each', 'term', 'by', 'dividing', 'it', 'is', 'occurrence', 'count', 'within', 'the', 'result', 'set', 'by', 'it', 'is', 'global', 'occurrence', 'count', '\xe2\x80\x93a', 'relevance', 'measure', 'similar', 'to', 'one', 'my', 'former', 'colleagues', 'and', 'i', 'used', 'at', 'endeca', 'in', 'enterprise', 'contexts', 'you', 'can', 'try', 'out', 'the', 'demo', 'yourself', 'at', 'http', '://www', 'ittybittysearch', 'com', '/', 'while', 'it', 'has', 'rough', 'edges', ',', 'it', 'produces', 'nice', 'results', '\xe2\x80\x93especially', 'considering', 'the', 'simplicity', 'of', 'the', 'approach', 'here', '\xe2\x80\x99s', 'an', 'example', 'of', 'how', 'i', 'used', 'the', 'application', 'to', 'explore', 'and', 'learn', 'something', 'new', 'i', 'started', 'with', '["', 'information', 'retrieval', '"]', 'i', 'noticed', '\xe2\x80\x9c', 'interactive', 'information', 'retrieval', '\xe2\x80\x9d', 'as', 'a', 'top', 'term', ',', 'so', 'i', 'used', 'it', 'to', 'refine', 'most', 'of', 'the', 'refinement', 'suggestions', 'looked', 'familiar', 'to', 'me', '\xe2\x80\x93but', 'an', 'unfamiliar', 'name', 'caught', 'my', 'attention', ':', '\xe2\x80\x9c', 'anton', 'leuski', '\xe2\x80\x9d', 'following', 'my', 'curiosity', ',', 'i', 'refined', 'again', 'looking', 'at', 'the', 'results', ',', 'i', 'immediately', 'saw', 'that', 'leuski', 'had', 'done', 'work', 'on', 'evaluating', 'document', 'clustering', 'for', 'interactive', 'information', 'retrieval', 'further', 'exploration', 'made', 'it', 'clear', 'this', 'is', 'someone', 'whose', 'work', 'i', 'should', 'get', 'to', 'know', '\xe2\x80\x93check', 'out', 'his', 'home', 'page', '!', 'i', 'can', '\xe2\x80\x99t', 'promise', 'that', 'you', '\xe2\x80\x99ll', 'have', 'as', 'productive', 'an', 'experience', 'as', 'i', 'did', ',', 'but', 'i', 'encourage', 'you', 'to', 'try', 'eric', '\xe2\x80\x99s', 'demo', 'it', '\xe2\x80\x99s', 'simple', 'examples', 'like', 'these', 'that', 'remind', 'me', 'of', 'the', 'value', 'of', 'pursuing', 'hcir', 'for', 'the', 'open', 'web', 'speaking', 'of', 'which', ',', 'hcir', '2010', 'is', 'in', 'the', 'works', 'we', '\xe2\x80\x99ll', 'flesh', 'out', 'the', 'details', 'over', 'the', 'next', 'weeks', ',', 'and', 'of', 'course', 'i', '\xe2\x80\x99ll', 'share', 'them', 'here']
>>> my_clean_list = [unidecode(x.decode('utf8')) for x in my_list]
>>> my_clean_list
['guest', 'demo', ':', 'eric', 'iverson', "'s", 'itty', 'bitty', 'search', 'february', '16', 'th', ',', '2010', 'by', 'daniel', 'tunkelang', 'respond', 'i', "'m", 'back', 'from', 'vacation', ',', 'and', 'still', 'digging', 'my', 'way', 'out', 'of', 'everything', 'that', "'s", 'piled', 'up', 'while', 'i', "'ve", 'been', 'offline', 'while', 'i', 'catch', 'up', ',', 'i', 'thought', 'i', "'d", 'share', 'with', 'you', 'a', 'demo', 'that', 'eric', 'iverson', 'was', 'gracious', 'enough', 'to', 'share', 'with', 'me', 'it', 'uses', 'yahoo', '!', 'boss', 'to', 'support', 'an', 'exploratory', 'search', 'experience', 'on', 'top', 'of', 'a', 'general', 'web', 'search', 'engine', 'when', 'you', 'perform', 'a', 'query', ',', 'the', 'application', 'retrieves', 'a', 'set', 'of', 'related', 'term', 'candidates', 'using', 'yahoo', "'s", 'key', 'terms', 'api', 'it', 'then', 'scores', 'each', 'term', 'by', 'dividing', 'it', 'is', 'occurrence', 'count', 'within', 'the', 'result', 'set', 'by', 'it', 'is', 'global', 'occurrence', 'count', '-a', 'relevance', 'measure', 'similar', 'to', 'one', 'my', 'former', 'colleagues', 'and', 'i', 'used', 'at', 'endeca', 'in', 'enterprise', 'contexts', 'you', 'can', 'try', 'out', 'the', 'demo', 'yourself', 'at', 'http', '://www', 'ittybittysearch', 'com', '/', 'while', 'it', 'has', 'rough', 'edges', ',', 'it', 'produces', 'nice', 'results', '-especially', 'considering', 'the', 'simplicity', 'of', 'the', 'approach', 'here', "'s", 'an', 'example', 'of', 'how', 'i', 'used', 'the', 'application', 'to', 'explore', 'and', 'learn', 'something', 'new', 'i', 'started', 'with', '["', 'information', 'retrieval', '"]', 'i', 'noticed', '"', 'interactive', 'information', 'retrieval', '"', 'as', 'a', 'top', 'term', ',', 'so', 'i', 'used', 'it', 'to', 'refine', 'most', 'of', 'the', 'refinement', 'suggestions', 'looked', 'familiar', 'to', 'me', '-but', 'an', 'unfamiliar', 'name', 'caught', 'my', 'attention', ':', '"', 'anton', 'leuski', '"', 'following', 'my', 'curiosity', ',', 'i', 'refined', 'again', 'looking', 'at', 'the', 'results', ',', 'i', 'immediately', 'saw', 'that', 'leuski', 'had', 'done', 'work', 'on', 'evaluating', 'document', 'clustering', 'for', 'interactive', 'information', 'retrieval', 'further', 'exploration', 'made', 'it', 'clear', 'this', 'is', 'someone', 'whose', 'work', 'i', 'should', 'get', 'to', 'know', '-check', 'out', 'his', 'home', 'page', '!', 'i', 'can', "'t", 'promise', 'that', 'you', "'ll", 'have', 'as', 'productive', 'an', 'experience', 'as', 'i', 'did', ',', 'but', 'i', 'encourage', 'you', 'to', 'try', 'eric', "'s", 'demo', 'it', "'s", 'simple', 'examples', 'like', 'these', 'that', 'remind', 'me', 'of', 'the', 'value', 'of', 'pursuing', 'hcir', 'for', 'the', 'open', 'web', 'speaking', 'of', 'which', ',', 'hcir', '2010', 'is', 'in', 'the', 'works', 'we', "'ll", 'flesh', 'out', 'the', 'details', 'over', 'the', 'next', 'weeks', ',', 'and', 'of', 'course', 'i', "'ll", 'share', 'them', 'here']


在这里,我使用unidecode模块将那些“花哨的”字符转换为最接近的ascii等效项:

>>> for before, after in zip(my_list, my_clean_list):
...     if before != after:
...         print before, ' --> ', after
...
’s  -->  's
’m  -->  'm
’s  -->  's
’ve  -->  've
’d  -->  'd
’s  -->  's
–a  -->  -a
–especially  -->  -especially
’s  -->  's
“  -->  "
”  -->  "
–but  -->  -but
“  -->  "
”  -->  "
–check  -->  -check
’t  -->  't
’ll  -->  'll
’s  -->  's
’s  -->  's
’ll  -->  'll
’ll  -->  'll


您可能会猜到,似乎某些英语数据应该在单词边界处分割,并且这样做是不正确的。如果是由您的代码生成此数据,则建议您更靠近问题的根源解决问题!

08-07 22:20