在Python中交换字符串列表中的字符

时间:2014-02-25 19:53:24

标签: python string list

给出一个字符串列表,例如:['Math is cool', 'eggs and bacon']

如何将一个列表项中的单词交换到另一个列表项以将它们转换为类似

的内容

['bacon is cool', 'eggs and Math']

我会发布代码,如果我有,但我真的不知道从哪里开始。谢谢。

我正在使用Python 3

3 个答案:

答案 0 :(得分:1)

首先创建列表。

text1 = 'Math is cool'
text2 = 'eggs and bacon'
mylist = []
mylist.append(text1.split())
mylist.append(text2.split()

print mylist

输出:

[['Math', 'is', 'cool'], ['eggs', 'and', 'bacon']]

现在您已拥有这些列表,请使用它们。使用append()添加用户输入的文本等

我认为你可以从这里看到去哪里。

答案 1 :(得分:0)

import random

def swap_words(s1, s2):
    s1 = s1.split()    # split string into words
    s2 = s2.split()
    w1 = random.randrange(len(s1))    # decide which words to swap
    w2 = random.randrange(len(s2))
    s1[w1], s2[w2] = s2[w2], s1[w1]     # do swap
    return " ".join(s1), " ".join(s2)

然后swap_words('Math is cool', 'eggs and bacon')返回

之类的句子
('Math and cool', 'eggs is bacon')
('bacon is cool', 'eggs and Math')

答案 2 :(得分:0)

您一般(至少可以说)没有提供太多关于您的目的的信息......所以下面的答案仅指您问题中给出的具体示例,以帮助您开始:< / p>

list    = ['Math is cool', 'eggs and bacon']
list0   = list[0].split(' ')
list1   = list[1].split(' ')
newList = [list1[-1]+' '+' '.join(list0[1:]), ' '.join(list1[:-1])+' '+list0[0]]