1

我想用一个字符串制作一个元组列表。基本上,鉴于以下情况,

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

我想要下面的元组列表:

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

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

4

2 回答 2

9
>>> s = "a b c d"
>>> w = s.split()
>>> zip(w, w[1:])
[('a', 'b'), ('b', 'c'), ('c', 'd')]

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

>>> res = []
>>> for i in range(1, len(w)):
...     res.append((w[i-1], w[i]))
... 
>>> res
[('a', 'b'), ('b', 'c'), ('c', 'd')]
于 2012-11-09T04:41:14.840 回答
1
     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)]
于 2012-11-09T10:08:59.220 回答