所以我有一个字符串:
stringvar = "one;two;three;four"
Run Code Online (Sandbox Code Playgroud)
我想把它变成:
stringcount = 4
string1 = "one"
string2 = "two"
string3 = "three"
string4 = "four"
Run Code Online (Sandbox Code Playgroud)
有时会有更多的情况,有时会有更少的情况,当然值可以是任意的。我想在';'处分割字符串 分成单独的变量,然后再提供另一个给出变量数量的变量。
谢谢
好的,既然我们已经解决了这个问题,那么这就是您的操作方法。
stringvar = "one;two;three;four"
lst = stringvar.split(";")
stringcount = len(lst)
for idx, value in enumerate(lst):
globals()["string"+str(idx+1)] = value
# This is the ugliest code I've ever had to write
# please never do this. Please never ever do this.
Run Code Online (Sandbox Code Playgroud)
globals() 返回一个字典,该字典包含全局范围内的每个变量,该变量名作为键的字符串以及值以及值的字符串。
例如:
>>> foo = "bar"
>>> baz = "eggs"
>>> spam = "have fun stormin' the castle"
>>> globals()
{'baz': 'eggs', '__loader__': <class '_frozen_importlib.BuiltinImporter'>, '__builtins__': <module 'builtins' (built-in)>, 'foo': 'bar', '__doc__': None, '__package__': None, 'spam': "have fun stormin' the castle", '__name__': '__main__'}
Run Code Online (Sandbox Code Playgroud)
您可以引用该词典通过字符串名称添加新变量(globals()['a'] = 'b'将变量设置a为"b"),但这通常是一件很糟糕的事情。想想如何使用这些数据!您必须将新的变量名绑定到另一个变量,然后globals()[NEW_VARIABLE]每次都在内部使用它!让我们使用a list代替吧?
| 归档时间: |
|
| 查看次数: |
22163 次 |
| 最近记录: |