避免使用两个数组来生成一个简单的字符串

2024-05-29 11:05:12 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个包含一些json文件名的列表,我想从单词中删除.json

我所做的工作是:

jsonlist = ['foo.json', 'bar.json']
jsonlist_parsed = []
for i in jsonlist:
    x = i.replace(".json", "")
    jsonlist_parsed.append(x)

jsonlist_parsed打印所需的解决方案,['foo', 'bar']

有没有办法避免使用两个数组而只在jsonlist数组中进行更改

提前谢谢


Tags: injson列表forfoo文件名bar数组
3条回答
jsonlist = [item.replace(".json", "") for item in jsonlist]

我不认为它更快,但它更容易在眼睛上,ftw

编辑:@thefourtheye,当我打开这个lol时,这个答案不在那里

你可以使用列表理解,就像这样

jsonlist = ['foo.json', 'bar.json']
print [item.replace(".json", "") for item in jsonlist]
# ['foo', 'bar']

实际上,我认为正确的解决办法是:

for pos, i in enumerate(jsonlist):
    jsonlist[pos] = i.replace(".json", "")

因为如果你使用列表理解,你正在创建另一个“动态”列表。不是吗

相关问题 更多 >

    热门问题