小编sal*_*902的帖子

迭代特定列表的最快方法?

假设我有一个列表:

list=['plu;ean;price;quantity','plu1;ean1;price1;quantity1']
Run Code Online (Sandbox Code Playgroud)

我想遍历列表+用“;”分割列表 并放置一个 if 子句,如下所示:

for item in list:
    split_item=item.split(";")
    if split_item[0] == "string_value" or split_item[1] == "string_value":
        do something.....
Run Code Online (Sandbox Code Playgroud)

我想知道,这是否是最快的方法?假设我的初始列表要大得多(有更多的列表项)。我尝试使用列表理解:

item=[item.split(";") for item in list if item.split(";")[0] == "string_value" or item.split(";")[1] == "string_value"]
Run Code Online (Sandbox Code Playgroud)

但这实际上给了我较慢的结果。第一种情况平均为 90 毫秒,而第二种情况平均为 130 毫秒。我做的列表理解错了吗?有没有更快的解决方案?

python performance list-comprehension list

5
推荐指数
1
解决办法
6733
查看次数

标签 统计

list ×1

list-comprehension ×1

performance ×1

python ×1