line = (' 1.')
print(line.split(), len(line.split()))
这给出了
['1.'] 1
但如果我这样做
for value in line.split():
val = value
print(val, len(val))
我得到了
1. 2
检查val
给了我
val[0]
'1'
val[1]
'.'
我很困惑为什么“.split()”在第二个例子中从1个索引划分为2个?
答案 0 :(得分:2)
split()
使用空格作为分隔符来划分字符串(多个空格一起只是此方法的un分隔符)。
请参阅:http://docs.python.org/2.7/library/stdtypes.html#str.split
您还可以将所需的分隔符作为参数提供,例如mystr.split(",")
将使用逗号作为分隔符来分割mystr
还有第二个参数告诉方法你想要执行多少次拆分。
所以:
mystr = "1 - 2 - 3 - 4"
print(mystr.split()) # split using spaces
print(mystr.split("-")) # split using "-"
print(mystr.split("-",2)) # split using "-" with 2 splits maximum
将产生以下输出:
['1', '-', '2', '-', '3', '-', '4']
['1 ', ' 2 ', ' 3 ', ' 4']
['1 ', ' 2 ', ' 3 - 4']
答案 1 :(得分:0)