Python中文
首页
教程
问答
标签
搜索
登录
注册
基于另一个列表中的模式匹配创建新列表
回答此问题可获得
20
贡献值,回答如果被采纳可获得
50
分。
<p>我有一个字符串列表,我想检查模式,如果模式匹配,将两个元素组合在一起,并创建一个新列表</p> <p>例如,这是我的列表:</p> <pre><code>string_ = ["aBc", "ab","12abc55", "ABAB", "125"] </code></pre> <p>如何-如果列表中的第二项是字符串(里面没有数字),而列表中的第三项是数字和字符的组合,那么我想将它们加在一起,中间留一个空格。我的最终输出应该是:</p> <pre><code>["aBc", "ab 12abc55", "ABAB", "125"] </code></pre> <p>我尝试了以下方法:</p> <pre><code> def hasNumbers(inputString): return bool(re.search(r'\d', inputString)) data = [] for i in range (0,len(string_)): if string_[1].isalnum() and hasNumbers(string_[2]): data.append(string_[1]+ " "+ string_[2]) else: data.append(string_[i]) </code></pre> <p>这不会给出预期的输出</p>
0 条评论
分类:
Python问答
请先
登录
后评论
默认排序
时间排序
1 个回答
匿名
1天前
擅长:python、mysql、java
<p>使用for循环迭代列表在这里没有意义,因为您想要执行的操作只需执行一次。所以你不需要一个循环。您可以使用以下内容替换for循环以实现预期结果:</p> <pre><code>a,b,c,d = string_ if b.isalnum() and hasNumbers(c): data = [a, b + ' ' + c, d] else: data = string_ </code></pre>
请先
登录
后评论
针对此问题:
更多的回答
关注
89
关注
收藏
1
收藏,
216
浏览
网友 提问于 2天前
相关Python问题
如何添加虚拟方法
9 回答
如何添加表示整数的擦边字符串?
7 回答
如何添加要在Bokeh中使用的新font.ttf文件?
1 回答
如何添加要显示的矩阵XY轴编号和XY轴
5 回答
如何添加计数?
6 回答
如何添加计数器函数?
5 回答
如何添加计数器列来计算数据帧中另一列中的特定值?
9 回答
如何添加计数器来跟踪while循环中的月份和年份?
7 回答
如何添加计数并删除countplot的顶部和右侧脊椎?
2 回答
如何添加计时器wx.应用程序更新窗口对象的主循环?
7 回答
如何添加评论到帖子?PostDetailVew,Django 2.1.5
8 回答
如何添加评论拉梅尔亚姆
3 回答
如何添加诸如矩阵Python/Pandas之类的数据帧?
3 回答
如何添加谷歌地点自动完成到Flask?
2 回答
如何添加超时、python discord bot
9 回答
如何添加超过1dp的检查
5 回答
如何添加距离方法
4 回答
如何添加跟随游戏的敌人精灵
1 回答
如何添加路径以便python可以找到程序?
9 回答
如何添加身份验证/安全性以使用happybase访问HBase?
10 回答