【问题标题】:making a list of tuples from a string,,从字符串中创建一个元组列表,
【发布时间】:2012-11-09 04:34:00
【问题描述】:

我想从一个字符串中创建一个元组列表。基本上,鉴于以下情况,

s = "a b c d"
w = s.split()

我想要下面的元组列表:

[(a, b), (b, c), (c, d)]

我觉得我应该使用 append 函数和 for 循环,但我被卡住了。我该怎么做?

【问题讨论】:

  • 你在处理什么语言?
  • Python!!-- 下面的代码工作正常!!

标签: python string list tuples


【解决方案1】:
>>> s = "a b c d"
>>> w = s.split()
>>> zip(w, w[1:])
[('a', 'b'), ('b', 'c'), ('c', 'd')]

如果你真的想使用for循环和append,你可以像这样替换zip()

>>> res = []
>>> for i in range(1, len(w)):
...     res.append((w[i-1], w[i]))
... 
>>> res
[('a', 'b'), ('b', 'c'), ('c', 'd')]

【讨论】:

  • 谢谢!!两者都可以正常工作,尽管第一个代码更简单!!--
【解决方案2】:
     s = "a b c d"
     s = s.split(" ")
     c=[]
     for i in range(len(b)-1):
            c.append((b[i],b[i+1]))


    list comprehension
    s = "a b c d"
    s = s.split(" ")
    d=[(s[i],s[i+1])for i in range(len(s)-1)]

【讨论】:

    猜你喜欢
    • 2011-07-24
    • 1970-01-01
    • 2023-03-21
    • 2017-02-13
    • 2013-08-11
    • 2014-02-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多