回答此问题可获得 20 贡献值,回答如果被采纳可获得 50 分。
<p>我正在从一个名为<code>WeaponShack.list</code>的文本文件中读取文件</p>
<p>这些是“武器棚列表”的内容:</p>
<pre><code>Grenade
Ak-47
Shotgun
Makarov
Minigun
Bat
Katana
Chainsaw
Flamethrower
</code></pre>
<p>没有空格。这些项目按原样复制粘贴</p>
<p>我试图去掉一些换行符,但在打印列表时,“\n”字符总是出现在某些元素上。我不明白为什么</p>
<p>我尝试使用.strip('\n'),但是“\n”字符仍然会在结尾弹出
一些元素</p>
<pre><code>print("Taking weapons from Weapon shack")
weapons = []
with open("WeaponShack.list",'r') as ws:
weapons = ws.readlines()
for weapon in weapons:
weapons.remove(weapon)
weapon = weapon.strip('\n')
weapons.append(weapon)
ws.close()
print(weapons)
</code></pre>
<p>预期输出为:</p>
<blockquote>
<p>Taking weapons from Weapon shack
['Ak-47', 'Makarov', 'Bat', 'Chainsaw', 'Grenade', 'Minigun', 'Flamethrower', 'Katana', 'Shotgun']</p>
</blockquote>
<p>但实际输出是:</p>
<blockquote>
<p>Taking weapons from Weapon shack
['Ak-47\n', 'Makarov\n', 'Bat\n', 'Chainsaw\n', 'Grenade', 'Minigun', 'Flamethrower', 'Katana', 'Shotgun']</p>
</blockquote>
<p>有人知道为什么会这样吗</p>
<p>编辑
我的重点是“\n”字符出现的原因。不是如何遍历列表。
同时尝试以下建议:<code>adding a new list</code>:</p>
<pre><code>print("Taking weapons from Weapon shack")
weapons = []
newWeaponList = []
with open("WeaponShack.list",'r') as ws:
weapons = ws.readlines()
for weapon in weapons:
weapons.remove(weapon)
weapon = weapon.strip('\n')
newWeaponList.append(weapon)
ws.close()
print(newWeaponList)
</code></pre>
<p>生成此输出:</p>
<blockquote>
<p>Taking weapons from Weapon shack
['Grenade', 'Shotgun', 'Minigun', 'Katana', 'Flamethrower']</p>
</blockquote>
<p>奇怪,因为它没有显示所有的元素</p>