【发布时间】:2021-12-09 04:15:30
【问题描述】:
这应该很容易,但我根本没有找到解决方案。 这是练习:
从“舒适”、“圆形”、“支撑”、“机械”这 4 个词开始,返回所有可能的 2 个词组合的列表。
示例:["comfortable round", "comfortable support", "comfortable machinery", ...]
我已经开始编写一个遍历每个元素的循环,从 index[0] 的元素开始:
words = ["comfortable, ", 'round, ', 'support, ', 'machinery, ']
index_zero= words[0]
for i in words:
words = index_zero + i
words_one = index_one + i
print(words)
>>> Output=
comfortable, comfortable,
comfortable, round,
comfortable, support,
comfortable, machinery
问题是当我想从第二个元素('round')开始迭代时。我尝试过操作索引(index[0] + 1),但当然,它不会返回任何内容,因为元素是字符串。
我知道需要进行从字符串到索引的转换,但我不确定如何。
我也尝试过定义一个函数,但它会返回 None
word_list = ["comfortable, ", 'round, ', 'support, ', 'machinery, ']
index_change = word_list[0]+ 1
def word_variations(set_of_words):
for i in set_of_words:
set_of_words = set_of_words[0] + i
set_of_words = word_variations(word_list)
print(set_of_words)
【问题讨论】:
-
for i in words[1:]: -
另外,你的函数没有
return -
您在寻找组合还是排列?下面的一些解决方案为您提供了排列,其中 ('round, ','support, ') 和 (support, ','round, ') 都作为两个不同的东西输出。组合只会输出其中一个。
标签: python list for-loop indexing