【发布时间】:2017-07-10 14:55:51
【问题描述】:
我是 Python 新手,无法完成作业任务。我已经定义了一个运行良好的函数,除了以下区域:我正在处理一个包含 10 个字符串的列表,我只需要将该列表中的每个字符串插入一次到相应的随机列表的开头,该列表也包含 10 个字符串,我为使用sys.argv从终端提取的文件制作(这意味着有10个文件,我的列表中的一个字符串对应于每个文件)。我知道我必须使用 .insert(0, new_string) 方法从我的 10 个字符串列表中插入新字符串。
这是我的功能的摘录,展示了我迄今为止为实现这一目标所做的努力:
randomlist = (list(map(choice, old_list)))
new_list = ["string1", "string2", "string3", "string4", "string5", "string6", "string 7", "string8", "string9", "string10"]
for new_string in new_list:
randomlist.insert(0, new_string)
当我运行这段代码时,我得到一个列表的输出,其中来自new_list 的每个元素都插入到我的randomlist 元素之前。这会导致一个包含 20 个元素的列表,而它应该只有 11 个。
输出应该是这样的(在使用 sys.argv 将函数应用于 10 个文件中的每一个文件之后),其中 rstring 对应于我的 randomlist 中的一个字符串:
["string1", "rstring1", "rstring2", "rstring3", "rstring4", "rstring5", "rstring6", "rstring7", "rstring8", "rstring9", "rstring10"]
["string2", "rstring1", "rstring2", "rstring3", "rstring4", "rstring5", "rstring6", "rstring7", "rstring8", "rstring9", "rstring10"]
["string3", "rstring1", "rstring2", "rstring3", "rstring4", "rstring5", "rstring6", "rstring7", "rstring8", "rstring9", "rstring10"]
["string4", "rstring1", "rstring2", "rstring3", "rstring4", "rstring5", "rstring6", "rstring7", "rstring8", "rstring9", "rstring10"]
["string5", "rstring1", "rstring2", "rstring3", "rstring4", "rstring5", "rstring6", "rstring7", "rstring8", "rstring9", "rstring10"]
["string6", "rstring1", "rstring2", "rstring3", "rstring4", "rstring5", "rstring6", "rstring7", "rstring8", "rstring9", "rstring10"]
["string7", "rstring1", "rstring2", "rstring3", "rstring4", "rstring5", "rstring6", "rstring7", "rstring8", "rstring9", "rstring10"]
["string8", "rstring1", "rstring2", "rstring3", "rstring4", "rstring5", "rstring6", "rstring7", "rstring8", "rstring9", "rstring10"]
["string9", "rstring1", "rstring2", "rstring3", "rstring4", "rstring5", "rstring6", "rstring7", "rstring8", "rstring9", "rstring10"]
["string10", "rstring1", "rstring2", "rstring3", "rstring4", "rstring5", "rstring6", "rstring7", "rstring8", "rstring9", "rstring10"]
我也尝试了其他方法,但这是我可以获得输出的最简单的方法。作为回顾,我只需要使用new_list 中的每个元素一次(从左到右的顺序)并将其插入我的randomlist 的开头。我正在使用的每个文件都有一个randomlist,我通过sys.argv 调用它们我相信它会涉及某种类型的for循环,可能还有元组,但我不知道如何让它们这样做我需要他们做什么。另外,我不允许对任何内容进行硬编码。
【问题讨论】: