探索Python.我一直在尝试通过编写最少量的代码来提高相同的功能,以此来推动我的进步,但我希望能够分析对流程速度的理解,以及对可能知之甚少的认识,但是仍然非常有用,python关键字.因此:
写这个最简短的方法是什么?
写这篇文章的最佳方法是什么,以便它以最快的速度处理?
只是为了一点乐趣,这是一个不规则但有效的方式来写这个?
注意:虽然它可能不是一种流行的观点,但我并不关心可读性,因为我认为这是依赖于某种语言技能的相对因素.
def xyFill(listObj, x, y):
for row in listObj:
x.append(row[0])
y.append(row[1])
Run Code Online (Sandbox Code Playgroud) #include <stdio.h>
main()
{
short vShort=3;
int *iInt=(int *)&vShort ;
printf("Value of short: %d\n",vShort);
printf("Value iof short: %d\n",*iInt);
}
Run Code Online (Sandbox Code Playgroud)
我写了这段代码,但是这个变量是打印valus,如下所示.Int-4尺寸的短尺寸 - 2
当我这样做时它也没有工作"int*iInt=&vShort ;"给出相同的输出.
输出:
短期价值:3价值短期:196608
我正在开发一个程序,用于在染色体上的一系列滑动窗口中估计田岛的D统计量.染色体本身也分为许多不同的区域(希望)具有功能意义.滑动窗口分析由我的脚本在每个区域执行.
在程序开始时,我定义了滑动窗口的大小以及从一个窗口移动到下一个窗口的步骤的大小.我导入一个文件,其中包含每个不同染色体区域的坐标,并导入另一个文件,其中包含我正在使用的所有SNP数据(这是逐行读取的,因为它是一个大文件).该程序循环遍历染色体位置列表.对于每一个位置时,它产生的步骤和窗口用于分析的指标,所述SNP数据划分成输出文件(步骤对应),计算每个步骤文件密钥统计,并结合这些统计信息来估计田岛的d为每个窗口.
该程序适用于SNP数据的小文件.它也适用于第一次染色体断裂点的第一次迭代.然而,对于SNP数据的大文件,当程序在每个染色体区域上迭代时,分析中的步长难以理解地降低.对于第一个染色体区域,步长为2500个核苷酸(这是它的假设).然而,对于第二染色体区段,步长为1966,第三染色体区段为732.
如果有人对于为什么会出现这种情况有任何建议,请告诉我.我特别难过,因为这个程序似乎适用于小文件,但不适用于较大的文件.
我的代码如下:
import sys
import math
import fileinput
import shlex
import string
windowSize = int(500)
stepSize = int(250)
n = int(50) #number of individuals in the anaysis
SNP_file = open("SNPs-1.txt",'r')
SNP_file.readline()
breakpoints = open("C:/Users/gwilymh/Desktop/Python/Breakpoint coordinates.txt", 'r')
breakpoints = list(breakpoints)
numSegments = len(breakpoints)
# Open a file to store the Tajima's D results:
outputFile = open("C:/Users/gwilymh/Desktop/Python/Sliding Window Analyses-2/Tajima's D estimates.txt", 'a')
outputFile.write(str("segmentNumber\tchrSegmentName\tsegmentStart\tsegmentStop\twindowNumber\twindowStart\twindowStop\tWindowSize\tnSNPs\tS\tD\n"))
#Calculating parameters a1, a2, b1, b2, c1 and c2
numPairwiseComparisons=n*((n-1)/2)
b1=(n+1)/(3*(n-1))
b2=(2*(n**2+n+3))/(9*n*(n-1))
num=list(range(1,n)) # n-1 values …Run Code Online (Sandbox Code Playgroud) (myCondition!="true")
? output("false"); doSomethingElse();
: output("true")
Run Code Online (Sandbox Code Playgroud)
为什么IDE会在双点"预期的分号"中说出来?