Python tour four: three head operations and data types supplement

1. The operation trinocular

1

2

3

4

5

# 书写格式

 

result =  1 if 条件 else 2

 

# 如果条件成立,那么将 “值1” 赋值给result变量,否则,将“值2”赋值给result变量

2. The basic data types added: 

set

set set of unordered is a non-repeating set of elements

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

70

71

72

73

74

75

76

77

78

79

80

81

82

83

84

85

86

87

88

89

90

91

92

93

94

95

96

97

98

99

100

101

102

103

104

105

class set(object):

    """

    set() -> new empty set object

    set(iterable) -> new set object

     

    Build an unordered collection of unique elements.

    """

    def add(self*args, **kwargs): # real signature unknown

        """

        Add an element to a set,添加元素

         

        This has no effect if the element is already present.

        """

        pass

 

    def clear(self*args, **kwargs): # real signature unknown

        """ Remove all elements from this set. 清除内容"""

        pass

 

    def copy(self*args, **kwargs): # real signature unknown

        """ Return a shallow copy of a set. 浅拷贝  """

        pass

 

    def difference(self*args, **kwargs): # real signature unknown

        """

        Return the difference of two or more sets as a new set. A中存在,B中不存在

         

        (i.e. all elements that are in this set but not the others.)

        """

        pass

 

    def difference_update(self*args, **kwargs): # real signature unknown

        """ Remove all elements of another set from this set.  从当前集合中删除和B中相同的元素"""

        pass

 

    def discard(self*args, **kwargs): # real signature unknown

        """

        Remove an element from a set if it is a member.

         

        If the element is not a member, do nothing. 移除指定元素,不存在不保错

        """

        pass

 

    def intersection(self*args, **kwargs): # real signature unknown

        """

        Return the intersection of two sets as a new set. 交集

         

        (i.e. all elements that are in both sets.)

        """

        pass

 

    def intersection_update(self*args, **kwargs): # real signature unknown

        """ Update a set with the intersection of itself and another.  取交集并更更新到A中 """

        pass

 

    def isdisjoint(self*args, **kwargs): # real signature unknown

        """ Return True if two sets have a null intersection.  如果没有交集,返回True,否则返回False"""

        pass

 

    def issubset(self*args, **kwargs): # real signature unknown

        """ Report whether another set contains this set.  是否是子序列"""

        pass

 

    def issuperset(self*args, **kwargs): # real signature unknown

        """ Report whether this set contains another set. 是否是父序列"""

        pass

 

    def pop(self*args, **kwargs): # real signature unknown

        """

        Remove and return an arbitrary set element.

        Raises KeyError if the set is empty. 移除元素

        """

        pass

 

    def remove(self*args, **kwargs): # real signature unknown

        """

        Remove an element from a set; it must be a member.

         

        If the element is not a member, raise a KeyError. 移除指定元素,不存在保错

        """

        pass

 

    def symmetric_difference(self*args, **kwargs): # real signature unknown

        """

        Return the symmetric difference of two sets as a new set.  对称差集

         

        (i.e. all elements that are in exactly one of the sets.)

        """

        pass

 

    def symmetric_difference_update(self*args, **kwargs): # real signature unknown

        """ Update a set with the symmetric difference of itself and another. 对称差集,并更新到a中 """

        pass

 

    def union(self*args, **kwargs): # real signature unknown

        """

        Return the union of sets as a new set.  并集

         

        (i.e. all elements that are in either set.)

        """

        pass

 

    def update(self*args, **kwargs): # real signature unknown

        """ Update a set with the union of itself and others. 更新 """

        pass

Exercise: find differences

1

2

3

4

5

6

7

8

9

10

11

12

13

# 数据库中原有

old_dict = {

    "#1":{ 'hostname':c1, 'cpu_count'2'mem_capicity'80 },

    "#2":{ 'hostname':c1, 'cpu_count'2'mem_capicity'80 }

    "#3":{ 'hostname':c1, 'cpu_count'2'mem_capicity'80 }

}

   

# cmdb 新汇报的数据

new_dict = {

    "#1":{ 'hostname':c1, 'cpu_count'2'mem_capicity'800 },

    "#3":{ 'hostname':c1, 'cpu_count'2'mem_capicity'80 }

    "#4":{ 'hostname':c2, 'cpu_count'2'mem_capicity'80 }

}

Exercise: find differences

1

2

3

4

5

6

7

8

9

10

11

12

13

# 数据库中原有

old_dict = {

    "#1":{ 'hostname':c1, 'cpu_count'2'mem_capicity'80 },

    "#2":{ 'hostname':c1, 'cpu_count'2'mem_capicity'80 }

    "#3":{ 'hostname':c1, 'cpu_count'2'mem_capicity'80 }

}

   

# cmdb 新汇报的数据

new_dict = {

    "#1":{ 'hostname':c1, 'cpu_count'2'mem_capicity'800 },

    "#3":{ 'hostname':c1, 'cpu_count'2'mem_capicity'80 }

    "#4":{ 'hostname':c2, 'cpu_count'2'mem_capicity'80 }

}

Exercise: look for discrepancies

1

2

3

4

5

6

7

8

9

10

11

12

13

# 数据库中原有

old_dict = {

    "#1":{ 'hostname':c1, 'cpu_count'2'mem_capicity'80 },

    "#2":{ 'hostname':c1, 'cpu_count'2'mem_capicity'80 }

    "#3":{ 'hostname':c1, 'cpu_count'2'mem_capicity'80 }

}

   

# cmdb 新汇报的数据

new_dict = {

    "#1":{ 'hostname':c1, 'cpu_count'2'mem_capicity'800 },

    "#3":{ 'hostname':c1, 'cpu_count'2'mem_capicity'80 }

    "#4":{ 'hostname':c2, 'cpu_count'2'mem_capicity'80 }

}

需要删除吗?
需要新建吗?
需要更新吗? 
提示:无需考虑内部元素是否改变,只要原来存在,新汇报也存在,就是需要更新

 

Guess you like

Origin blog.csdn.net/xymalos/article/details/90902899