• Meet Python: little notes 2


    From this blog I will turn to Markdown for original writing.
    Source: http://www.liaoxuefeng.com/

    list

    • a list could be accessed using positive number (start from 0) in sequence or negative number in reverse sequence. Note that square brackets should be used here;
    • listname.append('...'): add ... as the last element in the list;
    • listname.insert(index, '...'): insert ... as the indexed element of the list;
    • listname.pop(): delete the last element in the list;
    • listname.pop(index): delete the last element in the list;
    • listname[inedx] = '...': replace the indexed element to ...;
      Note: The Python type list is like cell in Matlab, that the elements within one list are not necessarily the same type. The element in a list can even be another list.
    >>> example = ['a', 'b', ['c', 'd'], 'e'];
    >>> example[2][1]
    d  
    
    # Defind a null list
    >>> L = [];
    >>> len(L)
    0
    

    tuple

    • a list whose elements cannot be changed once initialised. But pay attention that when defining a tuple, you should use round brackets (list: square brackets);
    # Defing a null tuple
    >>> t = ()
    
    # Defining a tuple with only one element
    >>> t = (1,)
    
    # If you defining like this:
    >>> t = (1)
    1   # t is not a tuple, but an integer: 1
    
    • just like list, the elements in a tuple can be of different type, so that we could use list to construct an 'alterable tuple'.
    >>> t = ('a', 'b', ['A', 'B']);
    >>> t[2][0] = 'X';
    >>> t[2][1] = 'Y';
    >>> t
    ('a', 'b', ['X', 'Y'])
    

    ♥ if-else

      # - pay attention to the colon at the end of each judegmeng sentence;
      # - unlike Matlab, there is no *end* at the end of the structure.
      if <judgement 1>:
          <action 1>
      elif <judgement 2>:
          <action 2>
      elif <judgement 3>:
          <action 3>
      else:
          <action 4>
    

    input

    • When using input(), be cautious about the data type obtain from input(), which is originally str. If number is needed, int() privides a way to convert string to integer.

    ♥ Loop

    • for...in
    >>> sum = 0
    >>> for x in range(5):   # list(range(5)): [0, 1, 2, 3, 4]
           sum = sum + x
    >>> print(sum)
    10
    
    • while
      End when the condition is not satisfied.
    >>> sum = 0
    >>> n = 99
    >>> while n > 0:
            sum = sum + n
            s = n - 2
    >>> print(sum)
    2500
    

    ♥ dict

    • Abbreviation of dictionary, realising correspondance between multiple lists. With 'key-value' structure, dict could speed up the searching process;

    • operation examples:

    # Using following dict to replace the following two lists in one time:
    # names = ['Mary', 'Edith', 'Sybil']
    # birth_order = [1, 2, 3]
    >>> downton = {'Mary': 1, 'Edith': 2, 'Sybil': 3}   # Using brace here
    >>> downton['Mary']
    1
    
    # value assignment and obtainment
    >>> downton['Edith'] = 2
    >>> downton.get('Edith')
    2
    >>> downton.get('Carson')
    
       # no return value if the key does not exist in the dict
    >>> downton.get('Cora', -1)   # return -1 if 'Cora' is not found
    -1
    >>> downton.get('Edith', -1)   # while if 'Edith' already exists, will  
                                   # return the true value no matter what is  
                                   # assigned
    2
    
    #check if certain elements is in the dict
    >>> 'Mary' in d
    True
    # Value deletion
    >>> downton.pop('Sybil')
    3
    >>> print(downton)
    {'Edith': 2, 'Mary': 1}
    
    • Note
      1 dict consumes a lot of RAM;
      2 keys in dict should be unchanged objects: string, integer are OK while list cannot be a key;
      3 The keys' storing order of dict is different from keys' assignment order;
    >>> downton = {'Mary': 1, 'Edith': 2, 'Sybil': 3}   # Using brace here
    >>> downton['Mary']
    1
    >>> print(downton)
    {'Edith': 2, 'Sybil': 3, 'Mary': 1}
    

    set

    • Store keys in a non-repeat way(without values);
    # A list should be provided as input to initialise a set
    >>> s = set([1, 1, 2, 2, 3, 4])
    >>> s
    {1, 2, 3}   # non-repeat keys
    
    • set_name.add(...): add ... into a set;

    • set_name.remove(...):remove certain key from a sey;

    • Note
      1 like dict, keys in set should be unchanged objects;
      2 advantage of set: good for set operation for its out-of-order and non-repeat nature.

  • 相关阅读:
    [Swift]LeetCode1249. 移除无效的括号 | Minimum Remove to Make Valid Parentheses
    [Swift]LeetCode1240. 铺瓷砖 | Tiling a Rectangle with the Fewest Squares
    一位资深程序员大牛给予Java初学者的学习路线建议
    Java基础——集合源码解析 List List 接口
    Java定时任务调度详解
    Java实现CORS跨域请求
    假如时光倒流,我会这么学习Java
    Java后端程序员1年工作经验总结
    20个高级Java面试题汇总
    JVM内幕:Java虚拟机详解
  • 原文地址:https://www.cnblogs.com/minks/p/5520056.html
Copyright © 2020-2023  润新知