回答此问题可获得 20 贡献值,回答如果被采纳可获得 50 分。
<p>我正在编辑此查询,如果有人觉得我有问题,请接受我的道歉
误导他们去解决另一个问题。我有一个包含
行星的名字,像这样:</p>
<pre class="lang-none prettyprint-override"><code>Neptune
Venus
Pluto
Uranus
Jupiter
Saturn
Mars
Earth
Mercury
Majikthise
</code></pre>
<p>注意其中一个不是行星(现在假设冥王星是行星),我有一个命名行星的列表,如下所示:</p>
<pre><code>planets = ['Neptune', 'Venus', 'Pluto', 'Uranus', 'Jupiter', 'Saturn',
'Mars', 'Earth', 'Mercury']
</code></pre>
<p>现在,我试图检查文件是否包含任何非行星词,当我找到一个时,我会将其移动到行星列表中的适当位置,就像对列表进行排序一样。因此,如果我要打印列表,输出应该如下所示:</p>
<pre><code>['Neptune', 'Venus', 'Majikthise', 'Pluto', 'Uranus', 'Jupiter', 'Saturn',
'Mars', 'Earth', 'Mercury']
</code></pre>
<p>请注意,在上面的输出中,“Majikthise”正好位于它所处的位置
在此列表中<strong>如果</strong>此列表已排序。我之前的印象是
我能做到,但我不能做到,我想我能做到
由于我用来测试代码的输入的特殊性
“Abracadabra”,其在列表中的自然位置将在开头(如果
排序)这就是我发现它的地方,但我所做的只是附加
行星名单上的非行星,现在虽然我可以做什么,我期待
是的,只是我不确定我是否以最经济的方式做到了这一点。这是什么
我在做:</p>
<pre><code>with open("./names.txt","r") as names:
names = list(map(lambda x: x.rstrip(),names)
planets.insert(sorted(names).index
(list(filter(lambda x: x not in planets, names))[0],
list(filter(lambda x: x not in planets, names))[0])
print(planets)
</code></pre>
<p>我的问题似乎已经从上次改变,我现在基本上是创造
两个列表,排序一个以找到非行星的排序位置,然后<strong>然后<strong>
在未排序的行星列表中的索引处插入非行星
如果行星列表被排序的话。你知道吗</p>
<p>我现在可以就地做一些事情而不是创建两个列表了吗,python提供了吗
有什么东西能做到吗?你知道吗</p>