Python中文
首页
教程
问答
标签
搜索
登录
注册
如何从Python字符串中一次提取三个字符?
回答此问题可获得
20
贡献值,回答如果被采纳可获得
50
分。
<p>我想写一个函数,它接受一长串字符(一个像‘ugguuauuaugguuaaugguuu’这样的蛋白质序列),并一次从中提取三个字符(即密码子)。它可以依次返回每组三个字符,也可以返回包含所有三个字符的列表。两种方法都可以。但我在弄清楚如何干净地完成这件事上遇到了一些困难</p> <p>以下是我目前掌握的情况:</p> <pre><code>def get_codon_list(codon_string): codon_start = 0 codon_length = 3 codon_end = 3 codon_list = [] for x in range(len(codon_string) // codon_length): codon_list.append(codon_string[codon_start:codon_end]) codon_start += codon_length codon_end += codon_length return codon_list </code></pre> <p>它可以返回密码子列表,但似乎效率很低。如果有更好的方法,我不喜欢使用硬编码的数字和递增的变量。我也不喜欢使用for循环,因为它实际上不使用循环中的变量。这似乎不是一个正确的使用它</p> <p>有没有关于如何改进这一点的建议,或者是使用特定的函数/模块,或者只是使用更好的Pythonic技术</p> <p>谢谢</p>
0 条评论
分类:
Python问答
请先
登录
后评论
默认排序
时间排序
1 个回答
匿名
1天前
擅长:python、mysql、java
<p>您可以使用列表理解,每次从字符串中获取长度为3的片段</p> <pre><code>>>> s="UGGUGUUAUUAAUGGUUU" >>> res = [s[i:i+3] for i in range(0,len(s),3)] >>> res ['UGG', 'UGU', 'UAU', 'UAA', 'UGG', 'UUU'] </code></pre>
请先
登录
后评论
针对此问题:
更多的回答
关注
89
关注
收藏
1
收藏,
216
浏览
网友 提问于 2天前
相关Python问题
当用户用PYTHON设置一个或一个不带值的URL时,他们怎么能输入一个/a的代码呢?
2 回答
当用户登录到站点时,如何显示不同的导航栏
5 回答
当用户登录时,在Flask中向用户显示处理结果
4 回答
当用户的Flask会话结束时,我如何从Redis后端中移除所有Celery结果?
3 回答
当用户的Okta配置文件字段当前为blan时,更新该字段
7 回答
当用户的付款逾期2天时,从Django模型检索数据
9 回答
当用户的消息以问号结尾时,如何让机器人说些什么?
6 回答
当用户的系统上可能也安装了Python 2.7时,如何在用户的系统上运行Python 3脚本?
8 回答
当用户确定打印数量时,使用Matplotlib打印动画
10 回答
当用户离开时是否可以删除整个网页?
3 回答
当用户给出一个单词时如何打印?
6 回答
当用户继续更改TKin中的值(使用trace方法)时,使用Entry并更新输入的条目
4 回答
当用户编辑表单字段时,从Django时间字段中删除秒数
7 回答
当用户被更改时,消息不会来自web套接字
10 回答
当用户访问表单时,如何使表单为只读,而不具有更改权限
7 回答
当用户试图更改对象的值时,使用描述符类引发RuntimeError
7 回答
当用户调整GUI的大小时,是否有方法更改GUI内容的大小?
5 回答
当用户调整风的大小时,pythontkinter小部件的大小会不均匀
10 回答
当用户购买某个类别时,是否查找其他类别的销售?
3 回答
当用户转到上一页时,Django和芹菜插入操作
7 回答