python内的序列(组)

好长时间没写过了!想来我也不能按照一定的时间来更新我的博客,就拿博当做笔记吧 。经历了一段时间的颓废之后,今天我又开始写了 作为一个学生物的仔,跑来学python,我觉得还是非常有必要的,对于大量的生物数据来说最好的方法就是实现 “自动化” 。作为一个处理生物数据基本都亲历亲为的仔,在处理大量的生物数据之后,只能想到吐槽NCBI的数据实在是太不标准了,每次运行脚本我都要改半天,开发效率大大降低。脚本给别人,别人还不会。

今天的主要内容是关于python内的序列概念,吐槽NCBI只是顺带(槽点内容经供参考)

通常我们经常会遇到一组一组的东西,就比如说我今天背的单词(对象:放屁,你今天压根没翻开单词书!),我今天背的单词放在一起形成了一个组。

#单词组
['part','pass','ring','tie','passsge','even','cause','long','cout','ratio','sentence']

这些单词在一起组成了一个列表(list),这就是组的形式之一,组就是把某些东西归为一类,放在一起。在python里面,还有一个很生物的名字叫做 序列 ,比如列表、元组。如下:

#列表
[1, 2, 1, 4]
['part','pass',1, 2, True]
[['part','pass'],['cause','long'],['cout','ratio','sentence']]
a = [1, 2, 1, 4]
b = ['part','pass',1, 2, True]
c = [['part','pass'],['cause','long'],['cout','ratio','sentence']]
type(a)
type(b)
type(c)

输出:

<class 'list'>

这是我们常见的列表形式,列表内部的元素可以是int str bool 甚至是list 自己而且,list内部的元素可以重复,有固定位置,有限个数。内部元素是list本身的话我一般都是说这是一个二维列表,但专用的名称应该是嵌套
以上是我们最常遇到的数据类型列表。
还有就是元组且看示例:

#元组
(1, 2, 1, 4)
('part','pass',1, 2, True)
a = (1, 2, 1, 4)
b = ('part','pass',1, 2, True)
type(a)
type(b)

输出:

<class 'tuple'>

看到这里,是不是有点懵,着元组和列表看上去就一个括号一个中括号的区别啊,这样有啥意义??

c = (1)
d = ('part')
type(c)
type(d)

遇到这种代码,你觉得结果还是

<class 'tuple'>

或者是:

<class 'int'>
<class 'str'>

这里还是推荐大家去试一下,毕竟实践才是王道嘛。

生物专业学python学哪些 python生物信息学编程_生物专业学python学哪些

这究竟是什么原因呢?

其实在python中小括号,通常是用用作运算符,所以在这里

(1) = 1
('part') = 'part'

括号被当作了运算符和元组产生了冲突。那么这个问题应该如何解决呢?

c = (1,)
d = ('part',)
type(c)
type(d)
<class 'tuple'>

就这么简单,在第一个元素的后面加上一个逗号,这样的话,就成功定义一个单元素的元组了。