gpt4 book ai didi

python - python中的迭代问题

转载 作者:太空宇宙 更新时间:2023-11-04 10:42:38 24 4
gpt4 key购买 nike

[问题下方的代码]

这个想法是扩展 python 的内置 split() 函数。此函数接受两个字符串,一个需要拆分,第二个是第一个字符串中要省略和拆分的字符。此代码有效,但出于某种原因,此输入不会迭代最后一个逗号之后的任何内容。换句话说,无论这种格式的输入如何,它都不会在最后一个逗号之后附加任何内容。我不知道为什么。我已经逐行查看了这段代码,但我找不到丢失它的地方。

为什么我的代码没有遍历最后一个逗号之后的任何字符?

def split_string(source,splitlist):
## Variables ##
output = []
start, start_pos , tracker = 0 , 0 , 0

## Iterations ##
for char in source:
start = source.find(char,start)
if char in splitlist:
tracker += 1
if tracker <= 1:
end_pos = source.find(char, start)
output.append(source[start_pos:end_pos])
start_pos = end_pos + 1
else:
start_pos+=1
else:
tracker = 0


return output



out = split_string("First Name,Last Name,Street Address,City,State,Zip Code",",")
print out

最佳答案

因为您的代码没有任何代码可以从最后一个逗号追加到字符串末尾。

end_pos = source.find(char, start)
output.append(source[start_pos:end_pos])

您最终需要在最后一个逗号和字符串长度之间附加一个范围。

在循环结束后添加以下内容。

output.append(source[end_pos+1:];

修改后的代码: http://ideone.com/9Khu4g

关于python - python中的迭代问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19646740/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com