分割并计数一个Python字符串
我有一个字符串:
stringvar = "one;two;three;four"
我想把它变成:
stringcount = 4
string1 = "one"
string2 = "two"
string3 = "three"
string4 = "four"
有时候字符串的内容会多,有时候会少,当然这些值也可以是任何东西。我想把字符串按照';'这个符号分开,分成几个不同的变量,然后再有一个变量来表示这些变量的数量。
谢谢!
5 个回答
1
在编程中,有时候我们会遇到一些问题,特别是在使用某些工具或库的时候。比如,有人可能会在使用某个特定的功能时,发现它并没有按照预期工作。这种情况可能是因为设置不正确,或者是使用的方法不对。
解决这类问题的第一步是仔细检查你的代码,确保每一行都没有错误。你可以尝试逐步运行代码,看看在哪一步出现了问题。这样可以帮助你找到错误的根源。
另外,查阅相关的文档或社区讨论也是个不错的主意。很多时候,别人也遇到过类似的问题,他们的解决方案可能会对你有帮助。
总之,遇到问题时不要慌张,保持冷静,逐步排查,通常都能找到解决办法。
stringvar = "one;two,three;four"
l = stringvar.split(';')
stringcount, string1, string2, string3, string4 = len(l), l[0], l[1], l[2], l[3]
1
你应该使用 split
方法
s = 'stringvar = "one;two,three;four"'
stringvar = s.split('=')[-1].strip()
L=stringvar.split(';')
stringcount=len(L)
2
newstr = stringvar.split(";")
n = len(newstr)
print "stringcount = " + str(n)
for i in range(n):
print "string"+i+"="+str(newstr[i])
当然可以!请把你想要翻译的内容发给我,我会帮你把它变得简单易懂。
3
stringvar_list= stringvar.split(';')
string_count = len(stringvar_list)
stringvar_list
这个变量会包含每一个单独的字符串
10
好了,既然这个问题已经说清楚了,接下来我们来看看怎么做。
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.
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__'}
你可以通过这个字典来添加新的变量,方法是用字符串作为变量名(比如 globals()['a'] = 'b'
这行代码会把变量 a
的值设为 "b"
),但这样做通常是个很糟糕的主意。想想你怎么能使用这些数据!你得把新变量名绑定到另一个变量上,然后每次都要在 globals()[NEW_VARIABLE]
里使用它!我们不如用一个 list
来代替,这样更简单,对吧?