回答此问题可获得 20 贡献值,回答如果被采纳可获得 50 分。
<p>我试图在不使用字典的情况下连接列表中元组中的值。具体来说,我有一份清单:</p>
<pre><code>adjList = [('0', '3'), ('1', '0'), ('3', '2'), ('4', '2'), ('5', '4'), ('7', '9'),
('8', '7'), ('9', '6'), ('2', '1'), ('2', '6'), ('6', '5'), ('6', '8')]
</code></pre>
<p>我想用随机元组中的值创建一个列表:</p>
^{pr2}$
<p>如果一个元组的第一个值与newList的最后一个值相同,则从adjList追加该元组的第二个值,因此:</p>
<pre><code>newList = ['1', '0', '3']
</code></pre>
<p>然后从ADJ0(“1”)和“列表”中删除(“1”)。在</p>
<p>然后我想重复这个操作,直到newList中的最后一个值不再对应于adjList中元组的第一个值。我有很多困难,找出一个逻辑组合while或for循环可以做到这一点,任何帮助将不胜感激。在</p>
<p>目前我的代码:</p>
<pre><code>adjList = [('0', '3'), ('1', '0'), ('3', '2'), ('4', '2'), ('5', '4'), ('7', '9'),
('8', '7'), ('9', '6'), ('2', '1'), ('2', '6'), ('6', '5'), ('6', '8')]
firstNode = random.choice(adjList)
newList = []
newList.<a href="https://www.cnpython.com/list/append" class="inner-link">append</a>(firstNode[0])
newList.append(firstNode[1])
adjList.remove(firstNode)
## I need to repeat the following block of code:
for ax,bx in adjList:
if newList[-1] == ax:
adjList.remove((ax,bx))
newList.append(bx)
break
</code></pre>
<p>一切都按它应该的方式工作,但是我当然在newList的最后只得到了3个值。在adjList中的元组用完之前,我不知道如何重复最后一段代码。在</p>
<p>提前谢谢你的帮助。在</p>