【问题标题】:Python joining stringsPython连接字符串
【发布时间】:2009-12-16 21:02:09
【问题描述】:

我在 Python 中连接两个字符串时遇到了问题。 我有一些这样的代码:

for line in sites:
    site = line        

    for line in files:
        url = site+line

我认为这应该很容易,但字符串最终“看起来很奇怪”:

http://example.com/(这是网站) history.txt (然后该行出现在字符串中的另一个“行”上,当我尝试打开 url 因为它无效时,它搞砸了)

有人知道解决办法吗?

【问题讨论】:

  • 你能详细解释一下“看起来很奇怪”是什么意思吗?您的代码唯一奇怪的是在嵌套循环中使用迭代器名称“line” - 但这不会导致您的代码出现问题。
  • 我认为您的站点链接已损坏。还请张贴字符串的样子。将输入数据放入问题本身也会有所帮助。
  • “看起来很奇怪”是什么意思?变量站点和文件的内容是什么? '那么这条线出现在字符串中的另一条“线”上'是什么意思?
  • 你能准确地展示你想要什么和你得到什么吗? IE。我想要example.com/history.txt 并得到example.com/http://example2.com
  • 这有帮助吗? >>> ', '.join(str(x) for x in range(10)) '0, 1, 2, 3, 4, 5, 6, 7, 8, 9'

标签: python string


【解决方案1】:

最简单的方法是避免在 for 语句中使用相同的变量:

for site in sites:
  for line in files:
     url = site + line

这样就清楚了吗?无论如何,这是一个很好的做法。

【讨论】:

  • 如果 "sites" 是一个文件,则结尾的行 \n\r 不会被 for 构造剥离
  • 谢谢,结合 gnibbler 的回答解决了这个问题。
【解决方案2】:

也许您有额外的空格,例如站点末尾的换行符

for site in sites:
    for line in files:
        url = site.strip() + line.strip()

【讨论】:

    【解决方案3】:

    也许问题在于两次使用标识符名称“line”?

    【讨论】:

      猜你喜欢
      • 2011-10-11
      • 2016-03-14
      • 2013-03-20
      • 1970-01-01
      • 2017-12-18
      • 2011-05-09
      • 2020-12-30
      • 2011-03-23
      • 2010-10-03
      相关资源
      最近更新 更多