我需要拆分包含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
提前感谢您的帮助。
答案 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])
。