Python函数和字符串

时间:2013-09-29 02:11:54

标签: python

我如何使用函数来获取字符串的特定部分?
比方说我的字符串包含如下数据: '12345678 123456.78 Doe,John D.' #可以代表银行软件的数据# 我如何告诉python使字符串的第一个字符为int,字符串的第二部分为float,最后一部分应自动保持为字符串?

for line in file_obj:
    print(line) #would yield something like this '12345678 123456.78 Doe, John D.'

如果我有以下功能:

def find_balance():
    return float  

def find_acc_num():
    return int
def find_name():
    return str

我的参数是什么?迭代是否是解决问题的最佳方法?我希望能够更改帐户信息(余额和名称),只要用户可以提供正确的帐号。我是新手使用函数,我有点不确定如何去做...

提前感谢任何帮助,我真的很感激。 = d

2 个答案:

答案 0 :(得分:5)

您可以str.split()使用maxsplit 2:

>>> s = '12345678 123456.78 Doe, John D.'
>>> 
>>> v = s.split(None, 2)
>>> int(v[0]), float(v[1]), v[2]
(12345678, 123456.78, 'Doe, John D.')

答案 1 :(得分:1)

可能是家庭作业,但我很无聊

for line in file_obj:
    #Make a list of parts separated by spaces and new lines
    #The second argument says to only split up the first two things
    parts = line.split(None, 2)
    #Assign each value
    theint = int(parts[0])
    thefloat = float(parts[1])
    thestring = parts[3].strip()

如果您愿意,可以通过将每个功能传递给部件来完成多个功能。

编辑:更改代码以在@arshajii的建议中使用最大长度。还在字符串末尾删除了换行符。