python和java对字典空键处理的区别
1.Java HashMap
即使没有null这个键值,map.get(null)是允许的, 默认返回null.
null可作为HashMap键值。
import java.util.HashMap; public class StudyJava { public static void main(String[] args) { // TODO Auto-generated method stub HashMap<Integer,String> map = new HashMap<>(); map.put(1,"hello world"); System.out.println(map); System.out.println(map.get(null)); map.put(null,"1"); System.out.println(map.get(null)); } }
{1=hello world}
null
1
2.python dict
允许None作为键
没有默认的None键对应的值,会raise KeyError
a = {}
a[1] = 2
a
a[None]
{1: 2}
KeyError Traceback (most recent call last)
<ipython-input-56-308db02c468a> in <module>
----> 1 a[None]
KeyError: None
a[None] = 3
a
{1: 2, None: 3}
浙公网安备 33010602011771号