이 기사는 Python의 사전 및 집합에 대한 지식 요약을 예제를 통해 소개합니다. 매우 훌륭하고 참고할 가치가 있습니다. 필요한 친구는 참고할 수 있습니다.
매핑 유형:
임의의 것을 나타냅니다. object 컬렉션이며 거의 모든 키 값을 사용하여 다른 컬렉션으로 인덱싱할 수 있습니다.
시퀀스와 달리 맵은 순서가 없고 키로 인덱싱됩니다. 변경 불가능한 모든 객체는문자열 , 숫자와 같은 사전 키로 사용할 수 있습니다. , 튜플 등
변경 가능한 개체가 포함된 목록, 사전 및 튜플은 키로 사용할 수 없습니다. 존재하지 않는 키에 대한 참조는 KeyError 예외를 발생시킵니다.1) 사전
rr 리
2) 수집
dict { } 空字典 { key1:value1,key2:value2,... } 字典在其它编程语言中又称作关联数组或散列表; 通过键实现元素存取;无序集合;可变类型容器,长度可变,异构,嵌套 支持的操作: len(D) 返回D中的项目数 D[k] 返回D中键k的值 D[k] = x 将D[k]的值设为x >>> d1 = {'x':1,'y':2,'z':3} >>> d1['x'] 1 >>> d1['z'] 通过键索引 3 del D[k] 从D中删除D[k] >>> del d1['x'] >>> d1 {'y': 2, 'z': 3} k in D 如果k是D中的值,则返回True 支持的方法: D.clear() 清除所有元素 D.copy() 复制一个副本 >>> d1 = {'x':1,'y':2,'z':3} >>> id(d1) 45320640 >>> d2 = d1.copy() 深复制 >>> id(d2) 45997776 >>> d3 = d1 浅复制 >>> id(d3) 45320640 d1、d3指向同一对象,d2指向另一对象 D.get(k[,d]) 取得对应键的值,若不存在则返回d(默认为空) >>> d1.get('y') 2 D.has_key(k) 是否存在键值,返回True或False.(仅在pyhton2中使用) D.items() 转换为(key,value)元组组成的列表 >>> d1.items() [('y', 2), ('x', 1), ('z', 3)] >>> t1,t2,t3 = d1.items() >>> t1 ('y', 2) >>> t2 ('x', 1) >>> t3 ('z', 3) >>> m1,m2 = {'x':1,'y':2} >>> print m1 'y' >>> print m2 'x' 保存的是键,而不是值!!! D.values() 值列表 >>> d1.values() [2, 1, 3] D.keys() 键列表 >>> d1.keys() ['y', 'x', 'z'] D.pop(k[,d]) 弹出指定键值,若不指定则会触发异常 >>> d1.pop() TypeError: pop expected at least 1 arguments, got 0 >>> d1.pop('x') 1 >>> d1 {'y': 2, 'z': 3} D.popitem() 随机弹出 >>> d1.popitem() ('y', 2) >>> d1.popitem() ('z', 3) >>> d1.popitem() KeyError: 'popitem(): dictionary is empty' 为空时异常 >>> d1 { } D.update(m) 合并字典 >>> d1 = { 'x':1,'y':2,'z':3 } >>> d2={'c':'hello','y':66} >>> d1.update(d2) >>> d1 {'y': 66, 'x': 1, 'c': 'hello', 'z': 3} 若键存在则会覆盖,不存在就添加 D.iteritems() 返回一个迭代器对象 >>> d1 = { 'x':1,'y':2,'z':3 } >>> i1 = d1.iteritems() >>> i1.next() 使用next方式遍历每一个元素 ('y', 2) >>> i1.next() ('x':1) >>> i1.next() ('z':3) >>> i1.next() StopIteration 遍历结束后不会重新开始 D.iterkeys() -> an iterator over the keys of D >>> i2 = d1.iterkey() >>> i2.next() 'y' D.itervalues() -> an iterator over the values of D >>> i3 = d1.iterkey() >>> i3.next() 2 D.viewvalues() 返回类似集合方式的字典(值组成) >>> d1.viewvalues() dict_values([2, 1, 3]) D.viewitems() -> a set-like object providing a view on D's items(键值对) >>> d1.viewitems() dict_items([('y', 2), ('x', 1), ('z', 3)]) D.viewkeys() -> a set-like object providing a view on D's keys >>> d1.viewkeys() dict_keys(['y', 'x', 'z']) >>> d2 = dict(x=1,y=2,z=3) 定义字典另一种方式 >>> d2 {'y': 2, 'x': 1, 'z': 3} 补充:zip 返回元组组成的列表 >>> zip('xyz','123') [('x', '1'), ('y', '2'), ('z', '3')] 一一对应生成列表 >>> zip('xyzm','123') [('x', '1'), ('y', '2'), ('z', '3')] 多余项被舍弃 >>> zip('xyz','123','qer') [('x', '1', 'q'), ('y', '2', 'e'), ('z', '3', 'r')] >>> dict(zip('xyz','123')) 构造字典 {'y': '2', 'x': '1', 'z': '3'}
3) 요약
无序排列、可哈希; 支持集合关系测试 成员关系测试: in not in 迭代 不支持:索引、元素获取、切片 集合的类型: set() frozenset() 可变 不可变 没有特定语法格式,只能通过工厂函数创建 例: >>> s1=set(1,2,3) TypeError: set expected at most 1 arguments, got 3 错误方式 >>> s1 = set([1,2,3]) 正确方式 >>> s1 set([1, 2, 3]) >>> type(s1) set
위 내용은 Python의 사전 및 세트에 대한 자세한 소개의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!