如何在字符串列表中的每个字符串中插入连字符?
我正在抓取一个列表,但我想把字符串转换成永久链接,也就是每个单词之间用连字符连接起来。
比如,我有一个列表:
['hi there', 'help please','with my problem']
我希望它最后变成这样:
['hi-there','help-please', 'with-my-problem']
有什么好的方法可以做到这一点吗?
4 个回答
你可以使用:
wordlist = ['hi there', 'help please', 'with my problem']
hyphenated_wordlist = map(lambda s: s.replace(' ', '-'), wordlist)
当然可以!请看下面的内容:
在编程中,有时候我们需要让程序在特定的条件下执行某些操作。这就像给程序设定了一些规则,只有当这些规则被满足时,程序才会按照我们的要求去做事情。
比如说,如果你想让程序在用户输入的数字大于10时,显示一条消息,你就需要用到条件判断。这就像是在问:“如果这个条件成立,我就做这个事情。”
在代码中,这种条件判断通常用“if”语句来实现。简单来说,if语句就是告诉程序:“如果这个条件为真,就执行下面的代码。”
通过这种方式,我们可以让程序变得更加智能,能够根据不同的情况做出不同的反应。
希望这个解释能帮助你更好地理解条件判断的概念!
phrases = ['hi there', 'help please','with my problem']
hyphrases = [p.strip().replace(" ", "-") for p in phrases]
在编程中,很多时候我们会遇到一些问题或者错误,这些问题可能会让我们感到困惑。比如说,当你在写代码的时候,可能会出现一些意想不到的结果,或者程序根本无法运行。这时候,我们就需要去查找原因,看看哪里出了问题。
有时候,错误信息会给我们一些提示,告诉我们问题出在哪里。比如,它可能会说某个变量没有定义,或者某个函数没有找到。这些信息就像是给我们发出的求救信号,提醒我们去检查代码的某个部分。
另外,很多程序员会把自己遇到的问题和解决方案分享在网上,比如StackOverflow这个网站。这里有很多人会提供帮助,分享他们的经验和解决方法。你可以在这里找到类似的问题,看看别人是怎么解决的,或者直接提问,寻求帮助。
总之,编程的过程中遇到问题是很正常的,重要的是要保持耐心,仔细检查代码,利用好网络资源,逐步找到解决方案。
>>> spaces = ['hi there', 'help please','with my problem']
>>> hyphens = [s.replace(' ','-') for s in spaces]
>>> print hyphens
['hi-there','help-please', 'with-my-problem']
如果你只想把一个空格替换成一个连字符,其他的答案都很好用(特别是@kindall的那个,它还确保你不会得到开头或结尾有连字符的情况)。但是,如果你想把 "foo bar"
变成 "foo-bar"
,这些方法就不行了。
那这样怎么样:
def replace_runs_of_whitespace_with_hyphen(word):
return '-'.join(word.split())
hyphrases = [replace_runs_of_whitespace_with_hyphen(w) for w in phrases]
或者用正则表达式(不过这个方法可能会导致开头或结尾有连字符):
import re
re.sub(r'\s+', '-', word)