Python - making a function that would add “-” between letters
我想做一个函数,
例如:
1 | f("James") |
应输出为:
1 | J-a-m-e-s- |
号
如果您能像我刚开始编程一样使用简单的python函数,我会很高兴的。事先谢谢。另外,请使用"for"函数,因为它是我要学习的。
编辑:
是的,我想把
我能试试这个吗?
1 2 3 4 5 6 | >>> def f(n): ... return '-'.join(n) ... >>> f('james') 'j-a-m-e-s' >>> |
号
不确定是否需要最后一个"连字符"。
编辑:
即使你想要后缀
1 2 | def f(n): return '-'.join(n) + '-' |
作为学习者,重要的是要理解"最好在python中使用两个以上的字符串",即使用
请阅读以下文章进一步探讨:
有没有理由不使用+来连接两个字符串?
在python中,哪一个更适合concat字符串?
python的字符串连接与str.join相比有多慢?
Also, please use the"for" function because it is what I'm trying to learn
号
1 2 3 4 5 6 7 8 | >>> def f(s): m = s[0] for i in s[1:]: m += '-' + i return m >>> f("James") 'J-a-m-e-s' |
索引0处的
m = s[0] 字符分配给变量m 。for i in s[1:]: 从第二个字符迭代m += '-' + i 在变量m 中追加- char最后返回变量EDOCX1的值〔7〕。
如果你最后想要
1 2 3 4 5 6 7 8 | >>> def f(s): m ="" for i in s: m += i + '-' return m >>> f("James") 'J-a-m-e-s-' |
。
1 2 | text_list = [c+"-" for c in text] text_strung ="".join(text_list) |
作为函数,接受一个字符串作为输入。
1 2 3 4 5 | def dashify(input): output ="" for ch in input: output = output + ch +"-" return output |
。
假设您要求使用
1 2 3 4 5 6 7 8 | >>> def f(message) l = [] for c in message: l.append(c) l.append('-') return"".join(l) >>> print(f('James')) J-a-m-e-s- |
。
我很抱歉,但我必须把亚历山大拉维科维奇的回答再进一步:
1 2 3 | f = lambda text:"".join([c+"-" for c in text]) print(f('James')) # J-a-m-e-s- |
学习清单理解永远不会太早。
1 2 3 | square = lambda x: x**2 square(2) # returns 4 square(3) # returns 9 |
。
python很有趣,它不是enter-a-boring-programming-language-here。