- from random import randint
- data = {"Student{}".format(i):randint(60,100) for i in range(1,21)}
- 如何在list中筛选数据
[x for x in arr if x >=60]
- 如何在set中筛选数据
[x for x in s if x >=60]
- 如何在dict中筛选数据
{k:v for k,v in data.items() if v >= 60}
filter(lambda x:x[1] >= 90,data.items()) - 给typle中的元素命名
>>> s = ('Jim', 16, 'male', 'myheed@gmail.com')
>>> from enum import IntEnum
>>> class StudentEnum(IntEnum):
... NAME = 0
... AGE = 1
... SEX = 2
... EMAIL = 3
...
>>> StudentEnum.NAME
<StudentEnum.NAME: 0>
>>> s[StudentEnum.NAME]
'Jim'
>>> s[StudentEnum.AGE]
16nameTuple
>>> from collections import namedtuple
>>> namedtuple('Student', ['name', 'age', 'sex', 'email'])
<class '__main__.Student'>
>>> SS = namedtuple('Student', ['name', 'age', 'sex', 'email'])
>>> SS
<class '__main__.Student'>
>>> s1 = SS('Jim',16, 'male', email='sunzhuo@bupt.edu.cn')
>>> s1
Student(name='Jim', age=16, sex='male', email='sunzhuo@bupt.edu.cn')
>>> s1.name
'Jim' - dict中元素进行排序
>>> from random import randint
>>> d = {k: randint(60,100) for k in 'abcdefgh'}
>>> d
{'a': 70, 'b': 85, 'c': 81, 'd': 89, 'e': 82, 'f': 69, 'g': 64, 'h': 84}
>>> [(v,k)for k,v in d.items()]
[(70, 'a'), (85, 'b'), (81, 'c'), (89, 'd'), (82, 'e'), (69, 'f'), (64, 'g'), (84, 'h')]
>>> l = [(v,k)for k,v in d.items()]
>>> sorted(l)
[(64, 'g'), (69, 'f'), (70, 'a'), (81, 'c'), (82, 'e'), (84, 'h'), (85, 'b'), (89, 'd')]
>>> sorted(l, reverse = True)
[(89, 'd'), (85, 'b'), (84, 'h'), (82, 'e'), (81, 'c'), (70, 'a'), (69, 'f'), (64, 'g')]
>>> dict(sorted(l, reverse = True))
{89: 'd', 85: 'b', 84: 'h', 82: 'e', 81: 'c', 70: 'a', 69: 'f', 64: 'g'}
>>> sorted(d.items(), key=lambda item: item[1], reverse=True)
[('d', 89), ('b', 85), ('h', 84), ('e', 82), ('c', 81), ('a', 70), ('f', 69), ('g', 64)]>>> res = sorted(d.items(), key=lambda item: item[1], reverse=True)
>>> res
[('d', 89), ('b', 85), ('h', 84), ('e', 82), ('c', 81), ('a', 70), ('f', 69), ('g', 64)]
>>> enumerate(res,1)
<enumerate object at 0x1079de558>
>>> list(enumerate(res,1))
[(1, ('d', 89)), (2, ('b', 85)), (3, ('h', 84)), (4, ('e', 82)), (5, ('c', 81)), (6, ('a', 70)), (7, ('f', 69)), (8, ('g', 64))]
>>> for i, (k,v) in enumerate(res,1):
... print(i,k,v)
...
1 d 89
2 b 85
3 h 84
4 e 82
5 c 81
6 a 70
7 f 69
8 g 64
>>> d
{'a': 70, 'b': 85, 'c': 81, 'd': 89, 'e': 82, 'f': 69, 'g': 64, 'h': 84}
>>> for i, (k,v) in enumerate(res,1):
... d[k] = (i,v)
...
>>> d
{'a': (6, 70), 'b': (2, 85), 'c': (5, 81), 'd': (1, 89), 'e': (4, 82), 'f': (7, 69), 'g': (8, 64), 'h': (3, 84)}
>>> {k:(i,v) for i,(k,v) in enumerate(res, 1)}
{'d': (1, 89), 'b': (2, 85), 'h': (3, 84), 'e': (4, 82), 'c': (5, 81), 'a': (6, 70), 'f': (7, 69), 'g': (8, 64)} - 关于zip
>>> zip([1,2,3],[3,4,5,6])
<zip object at 0x1079df348>
>>> list(zip([1,2,3],[3,4,5,6]))
[(1, 3), (2, 4), (3, 5)]
>>> list(zip([1,2,3],[3,4]))
[(1, 3), (2, 4)] - 词频统计
word_list = re.split("\W+", txt)
c2 = Counter(word_list)
c2.most_common(10)