【发布时间】:2012-11-27 14:12:50
【问题描述】:
如果我有一个键值元组列表,例如List = [{key1, value1}, {key2, value2}] 是不是更好用
lists:keyfind(Key, N, TupleList) 例如列表:keyfind(key1, 1, List)
找到一个给定的值或
dict:from_list(列表)
把它变成一个字典,然后用 dict:fetch/2 或 dict:find/2 查找?
使用 dict 对我来说更具可读性,因为它直接返回值,因此我可以内联使用它,但我想知道哪个更有效?
谢谢。
【问题讨论】:
-
扫描列表很可能更快。除非您要多次执行此操作,否则将其转换为
dict一次会更好。为什么不一直使用dict而不是列表。如果你想要一个列表,另一种方法是使用orddict,它保留一个有序列表并提供与dict相同的接口。
标签: list dictionary erlang