一.字典
一组键(key)和值(value)的组合,通过键(key)进行查找,没有顺序, 使用大括号”{}”;
1.1 现有字典 d={‘a’:24,‘g’:52,‘i’:12,‘k’:33}请按字典中的 value
值进行排序:
>>> d={'a':24,'g':52,'i':12,'k':33}
>>> a = sorted(d.items(),key=lambda x :x[1])
>>> c=dict(a)
>>> print c
{'i': 12, 'a': 24, 'k': 33, 'g': 52}
>>>
1.2字典和 json 的区别
字典是一种数据结构,json 是一种数据的表现形式
1.python dict 字符串用单引号,json强制规定双引号。
2.json key name 必须是字符串, python 是hashable,
1.3字典推导式
d = {key: value for (key, value) in iterable}
#快速兑换字典键—值
2 >>> mca={"a":1, "b":2, "c":3, "d":4}
3 >>> dicts={v:k for k,v in mca.items()}
4 >>> print dicts
5 {1: 'a', 2: 'b', 3: 'c', 4: 'd'}
6 >>>
二. 字符串
str:字符串是 Python 中最常用的数据类型。我们可以使用引号('或")来创建字符串。
2.1.理解\字符
1、转义字符 2、路径名中用来连接路径名 3、编写太长代码手动软换行
2.2反转字符串
>>> print 'astr'[::-1]
rtsa
2.3 将字符串"k:1|k1:2|k2:3|k3:4",处理成 Python 字典:{k:1,k1:2,... } # 字典里的 K 作为字符串处理
>>> a = "k:1|k1:2|k2:3|k3:4"
>>> print dict([m.split(':') for m in a.split("|")])
{'k3': '4', 'k2': '3', 'k': '1', 'k1': '2'}
>>>
2.4 alist [{'name':'a','age':20},{'name':'b','age':30},{'name':'c','age':25}] 按age从大到小排
>>> sorted(alist,key =lambda x:x['age'],reverse =True)
[{'age': 30, 'name': 'b'}, {'age': 25, 'name': 'c'}, {'age': 20, 'name': 'a'}]
>>>
三.列表
列表的常用操作:
1)增加
往指定位置插入:insert(位置下标,元素)
末尾加: append
将可迭代对象中的元素追加到列表:a=list1,b=list2,a.extend(b)
2)取值和修改
根据下标来
3)删除
del 列表名[index]:删除指定索引的数据。
remove(数据):删除第一个出现的指定数据。
列表名.pop():删除末尾的数据,返回值: 返回被删除的元素
列表名.pop(index):删除指定索引的数据,返回被删除的元素。
列表名.clear():清空整个列表的元素。
4)排序
1列表名.sort(reverse =True/False):默认False升序排序, 从小到大
2列表名.reverse():列表逆序、反转。
5)统计相关
len(列表名):得到列表的长度。
列表名.count(数据):数据在列表中出现的次数。
列表名.index(数据):数据在列表中首次出现时的索引,没有查到会报错。
6)与print a[10]不一样
>>> a =[1,2,3,4]
>>> print a[10:]
[ ]
7)找到两个list中相同的元素
>>> a =[2,3,3,4,5]
>>> b =[1,2,3,3,7]
>>> print set(a)&set(b)
set([2, 3])
>>> print set(a)^set(b)
set([1, 4, 5, 7])
8)删除一个 list 里面的重复元素
最简单的使用set()
想要不改变他原先的顺序:
用 list 类的 sort 方法:
1. l1 = ['b','c','d','b','c','a','a']
2. l2 = list(set(l1))
3. l2.sort(key=l1.index)
4. print l2
也可以这样写:
1. l1 = ['b','c','d','b','c','a','a']
2. l2 = sorted(set(l1),key=l1.index)
3. print l2
>>> def extendlist(val, list=[]):
... list.append(val)
... return list
...
>>> list1 = extendlist(10)
>>> list2 = extendlist(123, [])
>>> list3 = extendlist('a')
>>>
>>> print("list1 = %s" %list1)
list1 = [10, 'a']
>>> print("list1 = %s" %list1)
list1 = [10, 'a']
>>> print("list1 = %s" %list2)
list1 = [123]
>>> print("list1 = %s" %list3)
list1 = [10, 'a']
>>>
新的默认列表只在函数被定义的那一刻创建一次。当 extendList 被没有指定特定参数 list 调用时,这组 list 的值随后将被使用。这是因为带有默认参数的表达式在函数被定义的时候被计算,不是在调用的时候被计算
>>> list1 = extendlist(10)
12430792
>>> list2 = extendlist(123, [ ])
12430712
>>> list3 = extendlist('a')
12430792
四. 元组
tuple:元组,元组将多样的对象集合到一起,不能修改,通过索引进行查找,使用括号”()”;
五.集合
set:set 集合,在 Python 中的书写方式的{},集合与之前列表、元组类似,可以存储多个数据,但是这些数据是不重复的。集合对象还支持 union(联合), intersection(交), difference(差)和
sysmmetric_difference(对称差集)等数学运算.
快速去除列表中的重复元素
交集:共有的部分 b&a
并集:总共的部分 b|a
差集:另一个集合中没有的部分 b-a
对称差集(在 a 或 b 中,但不会同时出现在二者中) b^a