gpt4 book ai didi

python - 我的程序中列出索引超出范围错误

转载 作者:行者123 更新时间:2023-12-03 09:06:02 24 4
gpt4 key购买 nike

def to_camel_case(text):
arr = []
if '-' in text:
arr = text.split('-')
elif '_' in text:
arr = text.split('_')
z = []
z.append(arr[0])
for i in range(1, len(arr)):
arr1 = list(arr[i])
arr1[0] = arr1[0].upper()
arr1 = ''.join(arr1)
z.append(arr1)
str = ''.join(z)
return str

在上面的程序中,有任何列表索引超出范围错误。
Pycharm没有显示任何错误。但是另一个想法表明列表索引超出范围错误。为什么?

最佳答案

1)答案
如果您在-的参数中传递不包含 _to_camel_case字符的字符串,则在List index out of range error指令上有一个z.append(arr[0]),只是在这种情况下arr是一个空列表。
如果您在-的参数中传递带有
_to_camel_case字符的字符串,则不会出现任何错误,因为在这种情况下arr不为空。
这很可能解释了为什么有时您观察到错误,而有时却没有观察到错误。

2)根据您的代码进行更新的建议
与您的代码相比,经过最少的修改,我建议您进行以下更新:

def to_camel_case(text):
if '-' in text:
arr = text.split('-')
elif '_' in text:
arr = text.split('_')
else:
arr = text.split(' ')
z = []
for i in range(0, len(arr)):
arr1 = list(arr[i])
arr1[0] = arr1[0].upper()
arr1 = ''.join(arr1)
z.append(arr1)
resultStr = ' '.join(z)
return resultStr

# All 3 following instructions return the same string "Toto Is My Friend !"
print(to_camel_case("toto is my friend !"))
print(to_camel_case("toto-is-my-friend !"))
print(to_camel_case("toto_is_my_friend !"))

2)进一步
您可能认为title()方法适用于string对象,这似乎完全可以满足您的要求。

关于python - 我的程序中列出索引超出范围错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49294889/

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