t = "hi i am a human named joe norman"
words = t.split()
result = list(zip(words, words[1:]))
for first, second in result:
print("{} {}".format(first, second))
输出
hi i
i am
am a
a human
human named
named joe
joe norman
s = "hi i am a human named joe norman"
s = s.split()
l = [f'{i} {s[num + 1]}' for num, i in enumerate(s)
if num + 1 < len(s)]
print(l) #['hi i', 'i am', 'am a', 'a human', 'human named', 'named joe', 'joe norman']
为了完整起见,还有几个选项:
第一个版本松散地基于^{} :
这很好,因为上面Daniel代码中的片段(
words[1:]
)创建了一个words
列表的副本,它可能很大,而所需要的只是一个位于“不同”位置的迭代器使用^{} 的另一个版本:
这和Mykola的很像,但对我来说感觉更好。当然,也可以改写为使用列表理解,例如:
相当于:
使用zip:
输出
listcomp选项:
相关问题 更多 >
编程相关推荐