有没有办法将字符串拆分为未定义数量的变量/字符串?

时间:2013-07-03 12:45:45

标签: python string split

我需要拆分包含LC电话号码的字符串。在空间拆分,我想将每个块分成它自己的变量。请参阅以下示例LC电话号码:

B2430 .R553 D813 1991
CB351 .C58 1983
D570.33 369th .N456 2009
DA 685 .B65 B45 1995

使用Python,有没有办法创建与块相同数量的保持变量?如果是,请使用.split方法?

E.g .-

B2430 .R553 D813 1991 - var0= B2430, var1= .R553, var2= D813, var4= 1991
CB351 .C58 1983 - var0= CB351, var1= .C58, var2= 1983

提前感谢您的帮助。

2 个答案:

答案 0 :(得分:1)

请改用词典。你不想做你要解释的事情:

s = "B2430 .R553 D813 1991 CB351 .C58 1983 D570.33 369th .N456 2009 DA 685 .B65 B45 1995"
mydict = {'var{}'.format(i):j for i, j in enumerate(s.split())}

mydict现在是:

  

{'var5':'。C58','var4':'CB351','var7':'D570.33','var6':'1983','var1':'。R553','var0 ':'B2430','var3':'1991','var2':'D813','var9':'。N456','var8':'369th','var15':'1995','var14' :'B45','var11':'DA','var10':'2009','var13':'。B65','var12':'685'}

但如果你必须:

for i, j in enumerate(s.split()):
    globals()['var{}'.format(i)] = j

答案 1 :(得分:1)

在Python 3中,您至少可以创建一组给定的变量并将其余变量收集到列表中:

a, b, c, *rest = range(10)

a, b, c, rest现在为(0, 1, 2, [3, 4, 5, 6, 7, 8, 9])