影像组学03Python基础Pa

程少为简介 http://m.39.net/baidianfeng/a_8505703.html

影像组学(radiomics)的概念最早由荷兰学者Kumar在年提出,是一个新兴前沿科学领域。其含义是指通过计算机断层摄影(CT)、正电子发射断层摄影(PET)或磁共振成像(MRI)等方式获取的医学图像中提取和分析大量高通量的定量图像特征,从而产生非常大的潜在对象领域。相较于传统影像学而言,影像组学是一种多学科交叉、多种影像技术相互结合的技术。今天起开始推出影像组学系列笔记第三期:Python基础Part2

Python数据类型

数据类型咋一听起来感觉很高大上,特别是对于没接触过编程的同学而言。笔者查找百度百科的解释是:数据类型又称数据元(DataElement),也称为数据元素,是用一组属性描述其定义、标识、表示和允许值的数据单元,在一定语境下,通常用于构建一个语义正确、独立且无歧义的特定概念语义的信息单元。简单粗暴来讲,可以理解为数据的基本单元。

Python中有六个标准的数据类型:

Number(数字)

String(字符串)

List(列表)

Tuple(元组)

Set(集合)

Dictionary(字典)

其中:Number(数字)、String(字符串)、Tuple(元组)是不可变数据,其余三种是可变数据。这里只见后续学习中我们常接触到数据类型:**字符串(str)、布尔值(bool)、整数型(int)、浮点型(float)**。

数字:整数(int)浮点型(float)

整数(int):**在Python中的数字处理可以为包括负整数在内任意大小的整数,写法同数学表达中的写法一样,如:

a=-b=1#这里a、b都是整数型

浮点数(float):可以简单理解为就是有小数点的数值,比如:

br/c=1.0br/

#关于一些计算问题3a=3print(a)3+72**3#平方5/2#python3版本之后,整数除法和浮点数除法已经没有差异

字符串:

python中单引号和双引号使用完全相同,前提是英文输入法条件下。

字符串是值,就行数字一样。在Python中字符串是用引号(英文输入法下的单引号/双引号/三引号都可以)引起来的字符集。

#字符串(str)#英文输入法下单引号双引号三引号都可以c=1d="1.0"print(type(c))print(type(d))

注释

上一期python基础中也有提及过“注释”。井号(#)在python及其他大多编程语言中有些特殊。代码块中输入它的时候,其右边的一切字符均被忽略,通俗来说#就是起了注释的作用。

注释掉一行代码快捷键:Ctrl+/

转义字符

\n表示换行\t表示制表符\\表示\#转义字符print(It\sadog!)print("helloworld!\nhelloPython!")#换行print(\\\t\\)print(r\\\t\\)#使用在引号前加r,原样输出引号内字符串

运行结果

Itsadog!helloworld!helloPython!\\\\\t\\

布尔值(bool)

布尔值是一个逻辑值,只有真(True)和假(False)

#布尔值(bool)e=Truef=Falseprint(type(e))print(type(f))s=Pythonprint(Pyins)print(pyins)

运行结果

classboolclassboolTrueFalse变量与赋值#变量与赋值a=1b=2.0c=3d=Trueprint(a,b,c,d)###########赋值x=1y=2#如何让让x=2,y=1?z=xx=yy=z#x,y=y,xprint(x,y)###########字符串和布尔值的赋值与数字赋值类似A="True"B="aaa"print(type(A))print(type(B))

运行结果

12.03True21classstrclassstr查看变量类型Python数据结构

数据结构是通过某种方式(比如对元素进行编号)组织在一起的元素的集合,这些数据元素可以是数字或者字符,甚至可以是其他数据结构。在python中,最基本的数据结构是序列(sequence)。序列中的每一个元素被分配一个序号--即元素的位置,也称为索引。编程语言中通常按照……的顺序往后读取,即第一个索引是0,第二个则是1,以此类推。

Python数据结构包括列表(list)、元组(tuple)、集合(set)、字典(dict)等,这里主要讲解列表

序列中的所有元素都是有自己的编号的——从0开始递增。

列表是用来存储一连串元素的容器,用中括号[]来表示,列表中元素的类型可不相同。常见操作如下图示:

##列表list=[0,1,2,3,4,5]print(list)########索引##注意:索引从0开始,含左不含右print([4]=,list[4])print([-4]=,list[-4])print([0:4]=,list[0:4])print([:4]=,list[:4])#ddddprint([4:]=,list[4:])print([0:4:2]=,list[0:4:2])print([-5:-1:]=,list[-5:-1:])print([-2::-1]=,list[-2::-1])

运行结果

[0,1,2,3,4,5][4]=4[-4]=2[0:4]=[0,1,2,3][:4]=[0,1,2,3][4:]=[4,5][0:4:2]=[0,2][-5:-1:]=[1,2,3,4][-2::-1]=[4,3,2,1,0]

修改列表中元素

#修改列表元素list[3]="True"print(list[3])list[5]="HELLO"print(list[5])list[5]=print(list[5])print(list)

运行结果

TrueHELLO[0,1,2,True,4,]

列表中插入元素

#插入元素#注意重复运行可在原结果上再次执行命令list.append(NAME)#添加到尾部list.extend([WAN,LI])#尾部print(list)age=[90,80,75,66]list.insert(1,age)#将[90,80,75,66]添加到指定位置list

运行结果

[0,1,2,True,4,,NAME,WAN,LI][0,[90,80,75,66],1,2,True,4,,NAME,WAN,LI]

删除列表中元素

#删除元素print(list.pop(1))#该函数返回被弹出的元素,不传入参数则默认删除最后一个元素。注意读取顺序0开始print(list)

运行结果

[90,80,75,66][0,1,2,True,4,,NAME,WAN,LI]

元素是否在列表元素中及统计个数

###判断元素是否在列表元素中及统计print(WANinlist)print(WUnotinlist)list.count(WAN)list

运行结果

TrueTrue1

查找某个元素在列表中的位置

#查找元素位置##注意修改后列表中元素变动print(list)list.index(LI)

运行结果

[0,1,2,True,4,,NAME,WAN,LI]8Python基础运算###运算#数字运算a=1b=1.0g=a+bh=a-bi=a*bj=a/bprint(g,h,i,j)

运行结果

2.00.01.01.0

字符串运算

#字符串运算#分割、合并、替换等#合并c="1"d="1.0"print(c+d)#注意这里是字符串相加,得出的是11.0###e="radio"f="mics"print(e+f)

运行结果

11.0radiomics

布尔值运算

###布尔值运算X=TrueY=Falseprint(XandY)#和Falseprint(XorY)#或Trueprint(notX)#非False####print(XandY,XorY,notX)

运行结果

FalseTrueFalseFalseTrueFalsepython控制流

python中有三种控制流类型:顺序结构、分支结构、循环结构。

在python中通常情况下程序按从上往下的顺序执行语句,而某些时候我们为了改变程序的执行顺序,使用控制流语句控制程序执行方式。

python分隔语句一般用换行来分隔,语块使用Tab键(即空格)缩进而不用大括号。

顺序结构

##顺序结构#按顺序运算s=7num=int(s)#一般不使用这种分隔方式num-=1#num=num-1num*=6#num=num*6print(num)

运行结果

36

if条件1

#分支结构#Python中if语句是用来判断选择执行哪个语句块的##条件判断1a=1b=1.0ifa==b:###一个等号表示赋值,两个表示判断print("youareright!")else:print("youarewrong!")

运行结果

youareright!

if条件2

#条件判断2(可以多个判断条件elif)#多个分支a=1ifa==1:print("a=1")elifa==2:print("a=2")else:print("other")#输出a=1,如果a不等于那几个就输出other

运行结果

a=1

循环结构

##循环结构#for循环for(条件变量)in(集合):#其中“集合”并不单指set,而是“形似”集合的列表、元组、字典、数组都可以进行循环names=["san","si","mazi"]fornameinnames:print(name)

运行结果

sansimazi

利用循环语句求和

#循环语句求和total=0foriinrange(1,):total+=i#total=total+iprint(total)

运行结果

总结:本期主要讲解了六种数据类型,变量赋值和python中基本运算,另外还讲解了列表常见的读取、插入、修改、删除元素的方法,最后我们还学习了几种常遇到的数据结构。本期讲解到这里啦~

我们下期再见!

#参考B站UP主:有LI链接:


转载请注明:http://www.zpwkh.com/bzbk/13190.html

  • 上一篇文章:
  •   
  • 下一篇文章: 没有了

  • 当前时间: