Dict

1. dict.keys()

Return Value: This method returns a list of all the available keys in the dictionary.

1
2
3
4
#!/usr/bin/python

dict = {'Name': 'Zara', 'Age': 7}
print("Value : %s" %  dict.keys())

When we run above program, it produces following result −

1
Value : ['Age', 'Name']

2. one method to set dict values

1
2
feature = 'yes'
Labelcounts[feature] = '0'

Examples(Chapter 3, Machine learning in Action):

1
2
3
4
5
6
labelCounts = {}
for featVec in dataset:
    currentLabel = featVec[-1]
    if currentLabel not in labelCounts.keys():
        labelCounts[currentLabel] = 0
    labelCounts[currentLabel] += 1

3.dict和list对比

dict有以下几个特点:

  • 查找和插入的速度极快,不会随着key的增加而变慢;
  • 需要占用大量的内存。

而list相反:

  • 查找和插入的时间随着元素的增加而增加;
  • 占用空间小,浪费内存少。

综上,dict是用空间换时间的一种方法。

dict的key必须是不可变对象。 这是由于dict根据key来计算value的存储位置,如果每次计算相同的key得出的结果不同,那dict内部就完全混乱了。 这个通过key计算位置的算法称为哈希算法(Hash)。