‘壹’ 如何用python提取基因序列里的小写字符串(内含子)
楼上的代码正确
内含子是不会小写的,小写了说明大家已经知道那是内含子了。……你这个程序还有啥意义。
‘贰’ python常用序列结构
序列是python的基本数据结构,序列中的每个元素被分配一个序号即索引,索引从0开始。
序列的两种常用类型:列表和元组。
列表与元组的区别:列表可修改,元组不能修改。
通用序列操作
1、索引:索引0指向第一个元素,索引-1指向最后一个元素。
2、程序:输入年,月(1-12),日(1-31),然后打印出相应的日期的月份名称。
代码详解:months=[]:定义一个months序列。
endings=['st','nd','rd']+17*['th']\
+['st','nd','rd']+7*['th']\
+['st']:定义一个endings序列,用来表示1-31的英文缩写,1st,2nd,3rd,4-20th,21st,22nd,23rd,24-30th,31st。
代码运行输出结果:
3、分片:提取序列中的某个范围内的元素。
分片tag[9:30]:第一个索引号9是包含在分片内的,第二个索引号30则不包含在分片内。
4、如果要去序列中最后一个最后一个元素怎么办?
可以通过置空,最后一个一个索引来获取最后的元素。可以通过置空最前的索引来获取第一个元素。可以两边都置空来获取整个元素。
5、步长:
正数步长:从序列的头部开始向右提取元素,直到最后一个元素。
负数步长:从序列的尾部开始向左提取元素,直到第一个元素。
6、序列运算
序列相加:对序列进行连接操作,列表与字符串是无法连接在一起的。
序列相乘:数字x乘以一个序列会生成新的序列,即原来的序列被重复x次。
None,空列表和初始化:初始化一个长度为10的列表。
代码分析:在屏幕上打印一个由字符组成的盒子,这个盒子在屏幕上居中,而且根据用户输入的句子自动调整大小。
成员资格:in运算符,输入布尔运算符,当条件为真时返回true,为假则返回false。
以上代码在UNIX系统中,可以检查文件可写和可执行权限的脚本。
以上代码可以检查输入的用户名是否存在于用户列表中。
以上代码可以作为过滤垃圾邮件的一部分。
代码分析:查看用户输入的用户名,密码是否存在于数据库中,如果存在则打印'Access granted'
程序运行结果:
内建函数:len:返回序列中包含元素的数量,min:返回序列中最小的元素,max:返回序列中最大的元素。
‘叁’ python:如何对单层嵌套列表快速生成相邻子序列
def func1(a):'''对嵌套列表的序号生成相邻子序列,例如: k = [[1,11],[2,22,222],[3]]对应序号[0,1,2], 生成的相邻子序列为:bb = [[0],[0,1],[0,2],[1],[1,2],[2]]'''result = [] length = len(a) for i in xrange(length): for j in xrange(i + 1, length + 1): result.append(a[i:j]) return result def func2(b, k):'''将b序列中的值对应k中的子序列序号, 并逐步使用k中对应子序列中的值进行替换. 例如for b in bb, b中0对应着k中[1,11], 1对应着[2,22,222],依此类推'''result = []
‘肆’ Python求最大升序子序列与最小出现频率最高的数字,急急急!
>>>importsys
>>>
>>>defgenerateRandomList(size,start=0,stop=100,seed=None):
...importrandom
...randgen=random.Random()
...randgen.seed(seed)
...nb_of_elements=10
...return[
...randgen.randint(start,stop)
...for_inrange(size)
...]
...
>>>
>>>deflength_of_longest_increasing_sequence(lst):
...base=0
...maxlen=0
...whilebase<len(lst)-1:
...iflst[base]<lst[base+1]:
...#start
...foroffsetinxrange(base+1,len(lst)-1):
...iflst[offset]>=lst[offset+1]:
...subl=offset-base+1
...maxlen=sublifsubl>maxlenelsemaxlen
...base=offset
...break
...else:
...subl=offset-base+1
...maxlen=sublifsubl>maxlenelsemaxlen
...break
...else:
...base+=1
...returnmaxlen
...
...
>>>defsmallest_most_frequent(lst):
...fromcollectionsimportCounter
...counter=Counter(lst)
...returnsorted([
...(k,c)
...fork,cincounter.iteritems()
...],key=lambdax:(x[1],-1*x[0]))[0][0]
...
>>>
>>>nb_of_elements=10
>>>seed=32
>>>L=generateRandomList(nb_of_elements,stop=21,seed=seed)
>>>print('Thegeneratedlistis:',L)
('Thegeneratedlistis:',[1,4,6,19,10,15,2,11,18,11])
>>>prompts=[
...':{}',
...':{}'
...]
>>>
>>>print(prompts[0].format(length_of_longest_increasing_sequence(L)))
:4
>>>print(prompts[1].format(smallest_most_frequent(L)))
:19
>>>
‘伍’ Python的这几个版本区别
系统区别:
1、Download Windows X86 可供电脑系统32位使用。
2、Download Windows X86-64 可供电脑系统64位使用。
版本区别:
1、Download Windows X86 web-based installer 是通过需要联网完成安装的文件。
2、Download Windows X86 executable installer 是可执行的安装文件,下载后,双击安装即可。
3、Download Windows X86 embeddable zip file 是可嵌入式的压缩包文件,可以集成到其他应用中。
(5)子序列python扩展阅读:
Python2与Python3的选择:
因为早期的 Python版本在基础方面设计存在着一些不足之处。2008 年的时候 Guido van Rossum 又重新开发 Python 3.0(被称为Python 3000,或简称Py3k),Python3在设计的时候很好地解决了这些遗留问题, 并且在性能上也有了一定的提升,。
然而 Python3 带来的最大的问题就是不完全向后兼容,当时向后兼容的版本是Python2.6。Python开发团队无法一下子就让所有项目和类库都转到 Python3.0 上面。
所以,两个版本就进入了长期并行开发和维护的状态。但是就更新速度来说 ,Python3更新速度远快于Python2的速度,因为Python2目前主要以维护为主。Python3是未来的趋势。
‘陆’ Python问题求解答
n = int(input().strip())
m = int(input().strip())
nums = [int(c) for c in str(n)]
big_nums = []
while len(big_nums) < m:
select_range = nums[:len(big_nums) - m + len(nums) + 1]
max_num = max(select_range)
big_nums.append(max_num)
last_index = select_range.index(max_num)
nums = nums[last_index + 1:]
print(int(''.join([str(i) for i in big_nums])))
‘柒’ 用python编写一个输出和最大的连续子序列的程序
deffindresult(serial):
subresults=[]
flag=False
foriinserial:
ifflagandi<0:
flag=False
elifflag:
subresults[-1].append(i)
elifi>0:
flag=True
subresults.append([i])
returnsorted(subresults,key=lambdax:sum(x),reverse=True)[0]
因为子序列必须是连续的,所以每个局部和最大的子序列是前后为边界或负数的区间
‘捌’ 如何用python语言表示一个序列
直接用==比较if "相等"=="相等": print(”相等")else: print("不等")
‘玖’ python 怎样判断一个序列是否在另一个序列中
你的需求描述的不是太清晰,如果你时想判断 list1 = [2, 3, 3, 4],是否为 list2 = [1, 2, 3, 3, 4, 5] 的子序列,首先保证两个列表元素类型相同,然后写循环:
list1=[2,3,3,4]
list2=[1,2,3,3,4,5]
flag=False
foriinrange(len(list2)-len(list1)+1):
iflist2[i:i+len(list1)]==list1:
flag=True
break
print(flag)
‘拾’ Python 比较序列和其它类型的使用与方法
5.8. 比较序列和其它类型
序列对象可以与相同类型的其它对象比较。比较操作按 字典序 进行:首先比较前两个元素,如果不同,就决定了比较的结果;如果相同,就比较后两个元素,依次类推,直到所有序列都完成比较。如果两个元素本身就是同样类 型的序列,就递归字典序比较。如果两个序列的所有子项都相等,就认为序列相等。如果一个序列是另一个序列的初始子序列,较短的一个序列就小于另一个。字符 串的字典序按照单字符的 ASCII 顺序。
需要注意的是如果通过 < 或者 > 比较的对象只要具有合适的比较方法就是合法的。比如,混合数值类型是通过它们的数值进行比较的,所以 0 是等于 0.0 。否则解释器将会触发一个 TypeError 异常,而不是提供一个随意的结果。