e = 'NewCamelCaseWord'
new_word = []
def snake_case_formatter(c, sep='-'):
for i in list(c):
if i.isupper():
new_word.append(sep)
i = i.lower()
new_word.append(i)
else:
if new_word[0] == sep:
del new_word[0]
word = ''.join(new_word)
return word
嗨,这是我的代码,将camelcase函数名更改为snake case函数名。创建此函数时,我通过将字符串更改为列表,然后在大写字母之前向空间中添加空格,但这也意味着在单词开头之前有一个空格。这意味着当我使用破折号作为分隔符将字符串连接在一起时,函数名的开头会有一个破折号。我通过删除else函数中的第一个字符来修复这个问题,但是。如果是大写字母,我怎么能使循环跳过第一个字母?我尝试使用这样的continue:
^{pr2}$但是它只是弄乱了代码。所以我认为这与我的缩进有关系,但我不确定我应该如何格式化它。
编辑:我想知道如何使用continue,以便跳过在字符串中的第一个字母之前添加空格,而不是在之后删除它
请检查以下代码以获得预期的解决方案:
在}是列表的元素,而不是其索引。它不再包含当前索引的信息。在
for i in list(c):
中,变量{i[0]
试图访问i
的第一个元素,这可能没有太大意义。在Python提供了函数
enumerate
,用于迭代元素及其索引:for index, i in enumerate(list(c))
那么
index
是循环中的当前索引,可以与0
进行比较,例如与if index==0:
。在相关问题 更多 >
编程相关推荐