我正在玩codingbat.com,
,我发现这个问题非常容易解决,所以我开始尝试打新手代码高尔夫球。
给定一个非空字符串和一个int n,返回一个新的字符串 索引n处的char已被删除。 n的值将是有效索引 原始字符串中的字符串(即n将在该范围内) 0..len(str)-1包含)。
missing_char('小猫',1)→'ktten'
missing_char('小猫',0)→ 'itten'
missing_char('kitten',4)→'kittn'
Das Code:
def missing_char(str, n):
return ''.join(' '.join(str).split().remove(str[n]))
奇怪的是,Python不会解释这一点。
为什么不呢?
答案 0 :(得分:11)
这是因为remove
返回None
。 python中的大多数(全部?)内置函数都会使值变回None
。
因此,您的外部join
正在尝试不加入任何内容。
答案 1 :(得分:8)
不能直接回答你的问题,但这似乎是一个非常难以做出决定的方法......
def missing_char(s, n):
return s[:n] + s[n+1:]
答案 2 :(得分:1)
高尔夫版
missing_char=lambda s,n:s[:n]+s[n+1:]