0

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

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

使用 Python,有没有办法创建与块一样多的持有变量?如果是,使用 .split 方法?

例如-

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

提前感谢您的帮助。

4

2 回答 2

1

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

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

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

于 2013-07-03T12:54:44.490 回答
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
于 2013-07-03T12:47:27.520 回答