python读取用空格分隔的数据

Python019

python读取用空格分隔的数据,第1张

python有个split()方法,可以实现对字符串进行切割。

比如你在键盘输入的时候,input().split()

split()不给参数就是默认以空格进行分割

分类: 电脑/网络 >>程序设计 >>其他编程语言

问题描述:

python下的什么语句相当于C中的:

scanf("%d,%d,%s",&a,&b,&c)

解析:

--〉python下的什么语句相当于C中的scanf("%d,%d,%s",&a,&b,&c)?

你给的C代码是读取一行用逗号分开的值。

这代码假设读取的值全都肯定会是对的类型,而且肯定只有三个值,所以我觉得Python里这样写最接近了:

a, b, c = raw_input( ).split( ',' )

a = int( a )

b = int( b )

c = c.strip( )

若读取的值是用空格分开的,则只需把第一行改成:

a, b, c = raw_input( ).split( )

咦?

C比Python省了那么多行?!

等一下。那行C代码之前的变量声明也必须算进去,所以其实差别是不多的。还有。。。

。。。刚刚所提到的那种假设通常都是危险的,因为读取的值可能类型或数量不对,所以塞进变量之前应该先检查。

但是scanf( )并没有提供任何事先检查的余地,所以细心的C编程员在非要读取一行多项的输入时,都会先把整行输入读为字符串,然后切割,逐项检查,没问题才做类型转换然后塞进变量里。

整个过程需要的C代码很多,但若是用Python,可以省掉很多功夫。

Python使好的程序更容易写。