首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >选择只有字母表字符的行

选择只有字母表字符的行
EN

Stack Overflow用户
提问于 2015-10-05 23:28:15
回答 2查看 550关注 0票数 3

我的数据格式如下:

代码语言:javascript
复制
data = [['@datumbox', '#machinelearning'],
 ['@datumbox', '#textanalysis'],
 ['@things_internet', '#iot'],
 ['@things_internet', '#h...'],
 ['@custmrcom', '#analytics123'],
 ['@custmrcom', '#strategy...123'],
 ['@custmrcom', '#1knowledgetweet'],
 ['@tamaradull', '#@bigbrother']]

我想检查这个标签是否包含任何非字母表。如果是,相应的行将被移除。

期望的输出是:

代码语言:javascript
复制
data = [['@datumbox', '#machinelearning'],
 ['@datumbox', '#textanalysis'],
 ['@things_internet', '#iot']]

我想我需要使用re.sub (例如,re.compile(‘^a’))。到目前为止,这就是我所拥有的:

代码语言:javascript
复制
newdata = []

for item in data:
    regex = re.compile('[^a-zA-Z]')
    if regex.match(item[1]):
        newdata.append([item[0], item[1]])

有什么建议吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-10-05 23:40:08

使用带有条件的列表理解:

代码语言:javascript
复制
newdata = [x for x in data if x[1][1:].isalpha()]
print newdata

给出输出

代码语言:javascript
复制
[['@datumbox', '#machinelearning'], ['@datumbox', '#textanalysis'], ['@things_internet', '#iot']]
票数 10
EN

Stack Overflow用户

发布于 2015-10-05 23:39:17

简单回答:

代码语言:javascript
复制
for item in data:
    if re.match("^#[A-Za-z]+$", item[1]):
        newdata.append(item)
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32959463

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档