字典是无序键值对{key:value}集合,同一字典key不能重复。
>>> data_dcit ={'Code' : ['000895.XSHE', '002840.XSHE', '002726.XSHE'],
'PubDate' : '2008-01-01'}
>>> print(data_dcit)
{'Code': ['000895.XSHE', '002840.XSHE', '002726.XSHE'], 'PubDate': '2008-01-01'}
- 创建新的键值
>>> data_dcit['Years' ] = [str(x) for x in range(2008,2019)]
>>> print(data_dcit)
{'Code': ['000895.XSHE', '002840.XSHE', '002726.XSHE'], 'PubDate': '2008-01-01', 'Years': ['2008', '2009', '2010', '2011', '2012', '2013', '2014', '2015', '2016', '2017', '2018']}
- 使用del关键字删除任意指定的键值对
>>> del data_dcit['Years']
>>> print(data_dcit)
{'Code': ['000895.XSHE', '002840.XSHE', '002726.XSHE'], 'PubDate': '2008-01-01'}
- 使用 in 关键字查询指定的键值是否存在于字典中。不过,字典中的键必须是不可变类型,不能使用列表作为键。
>>> print('PubDate' in data_dcit)
True
>>> print('Date' in data_dcit)
False
- dict()可以从包含键值对的元组中创建字典。
>>> tp = (('Code','000895.XSHE'),('PubDate','2008-01-01'))
>>> dic = dict(tp)
>>> print(dic)
{'Code': '000895.XSHE', 'PubDate': '2008-01-01'}
- 如果想遍历一个字典,使用字典的items()方法。
>>> for x, y in dic.items():
print("{} is {}".format(x, y))
Code is 000895.XSHE
PubDate is 2008-01-01
- 往字典里的元素添加数据,需要先判断这个元素是存在,不存在则创建一个值。为了提高性能,可以使用dict.setdefault(key,default)来完成。
>>> data = {}
>>> data.setdefault('names', []).append('Sonnar')
>>> print(data)
{'names': ['Sonnar']}
>>> data.setdefault('names', []).append('Python')
>>> print(data)
{'names': ['Sonnar', 'Python']}
- 索引一个不存在的键将会抛出keyError错误。可以使用dict.get(key.default)来索引键。如果不存在,那么返回指定的default值。
>>> data['age']
---------------------------------------------------------------------------
KeyError Traceback (most recent call last)
<ipython-input-47-bdf3e9db6c24> in <module>
----> 1 data['age']
KeyError: 'age'
>>> data.get('age', 'N/A')
'N/A'