python列表,元祖,字典
1、python常见的组合数据类型有:
序列类型
-
- 列表list–可变
- 元祖tuple–不可变
- 字符串string–不可变
集合类型
映射类型
-
- 字典–可变
2、列表常用方法:
append():在列表末尾添加元素
In [3]: l1=[1,2] In [4]: l1.append(3) In [6]: l1 Out[6]: [1, 2, 3]
clear():清除列表中的所有元素
In [7]: l1 Out[7]: [1, 2, 3] In [8]: l1.clear() In [9]: l1 Out[9]: []
copy():复制–浅
In [10]: l1=[1,2] In [11]: id(l1) Out[11]: 1430246129224 In [12]: l2=l1.copy() In [13]: l2 Out[13]: [1, 2] In [14]: id(l2) Out[14]: 1430245324936 #id不一样
count():返回某个元素在列表中的次数
In [16]: l1=[1,1,1,2,3,4] In [17]: l1.count() In [18]: l1.count(1) Out[18]: 3
insert():在这个索引前插入一个元素
In [19]: a=['java','python'] In [21]: a.insert(0,'c++') In [22]: a Out[22]: ['c++', 'java', 'python']
In [23]: a.insert(-1,’PHP’)
In [24]: a
Out[24]: [‘c++’, ‘java’, ‘PHP’, ‘python’]
pop():移除并返回一个索引上的元素,默认移除最后一个
In [25]: a Out[25]: ['c++', 'java', 'PHP', 'python'] In [26]: a.pop() Out[26]: 'python' In [27]: a Out[27]: ['c++', 'java', 'PHP'] In [28]: a.pop(1) Out[28]: 'java' In [29]: a Out[29]: ['c++', 'PHP']
remove():移除第一次出现的元素
In [35]: a Out[35]: ['c++', 'PHP', 'c++'] In [38]: a.remove('c++') In [39]: a Out[39]: ['PHP', 'c++']
reverse():原地反转列表
In [40]: b=[1,2,3,4,5] In [41]: b.reverse() In [42]: b Out[42]: [5, 4, 3, 2, 1]
sort():原地排序
In [43]: b Out[43]: [5, 4, 3, 2, 1] In [44]: b.sort() In [45]: b Out[45]: [1, 2, 3, 4, 5]
3、元祖不可变,所以方法少,但是元祖里嵌套的列表可以变。
In [46]: a=1,2,3,[4,5,6] In [47]: a Out[47]: (1, 2, 3, [4, 5, 6]) In [49]: a[3] Out[49]: [4, 5, 6] In [50]: a[3][0]=0 In [51]: a Out[51]: (1, 2, 3, [0, 5, 6])
4、字典–可以用dir(dict)查看方法
clear():清除字典中所有元素
In [55]: d=dict(a=1,b=2,c=3) In [56]: d Out[56]: {'a': 1, 'b': 2, 'c': 3} #创建字典 In [57]: d.clear() In [58]: d Out[58]: {}
get():查询某个元素是否存在,不存在不报错,返回value
In [65]: d Out[65]: {'a': 1, 'b': 2} In [66]: d.get('a') Out[66]: 1 In [67]: d.get('b') Out[67]: 2
items():返回由每个key及对应的value所构成的元祖的列表
In [65]: d Out[65]: {'a': 1, 'b': 2} In [68]: d.get('c') In [69]: d.items() Out[69]: dict_items([('a', 1), ('b', 2)])
keys():返回由字典的键构成的列表
In [77]: d Out[77]: {'a': 1, 'b': 2} In [78]: d.keys() Out[78]: dict_keys(['a', 'b'])
values():返回由字典的值构成的列表
In [125]: d Out[125]: {'a': 1, 'b': 2, 'c': 3, 'd': 4} In [126]: d.values() Out[126]: dict_values([1, 2, 3, 4])
pop():从字典移除指定的键。返回对应的值
In [85]: d Out[85]: {'a': 1, 'b': 2} In [87]: d.pop('b') Out[87]: 2 In [88]: d Out[88]: {'a': 1}
#popitem()类似。移除末尾
In [92]: d.popitem()
Out[92]: (‘a’, 1)
In [93]: d
Out[93]: {}
setdefault():参数只有一个时,字典会增加一个键值对,键为这个参数,值默认为None;后接两个参数时,第一个参数为字典新增的键,第二个参数为新增的键对应的值
In [94]: d.setdefault('a') In [95]: d Out[95]: {'a': None} In [113]: d.setdefault('b',2) Out[113]: 2 In [114]: d Out[114]: {'a': None, 'b': 2}
update():合并字典
In [116]: d Out[116]: {'a': 1, 'b': 2} In [117]: c=dict(c=3,d=4) In [118]: d Out[118]: {'a': 1, 'b': 2} In [119]: c Out[119]: {'c': 3, 'd': 4} In [120]: c.update(d) In [121]: c Out[121]: {'a': 1, 'b': 2, 'c': 3, 'd': 4} In [122]: d Out[122]: {'a': 1, 'b': 2} In [123]: d.update(c) In [124]: d Out[124]: {'a': 1, 'b': 2, 'c': 3, 'd': 4}