zoukankan      html  css  js  c++  java
  • Python学习(一)List

    Python 和 Django

    按照博主Hongten的记录学习一遍,Hongten博主地址

    python安装教程:python安装教程

    Django安装教程:Django安装教程

    列表运行示例:

    1

     1 >>> def create_empty_list():
     2     return []
     3 
     4 >>> def create_common_list():
     5     return ['a','b','c',1,3,5]
     6 
     7 >>> def create_common_list2():
     8     return [x for x in range(1,10)]
     9 
    10 >>> def str_to_list(s):
    11     if s != None:
    12         return list(s)
    13     else:
    14         return []
    15 
    16     
    17 >>> def main():
    18     test_listA = create_empty_list()
    19     print(test_listA)
    20     print('#'*50)
    21     test_listB = create_common_list()
    22     print(test_listB)
    23     print('#'*50)
    24     test_listC = create_common_list2()
    25     print(test_listC)
    26     print('#'*50)
    27     test_str = ' i want to talk'
    28     test_listD = str_to_list(test_str)
    29     print(test_listD)
    30 
    31     
    32 >>> if __name__ == '__main__':
    33     main ()
    View Code

     list练习示例

    2

    >>> counter = 100
    >>> miles = 1000.0
    >>> name = "minglang"
    >>> numberA,numberB,nameC = 1,2,"Minglang"
    >>> list = [counter,miles,name,numberA,numberB,nameC]
    >>> print (list)
    [100, 1000.0, 'minglang', 1, 2, 'Minglang']
    >>> #注释用"#"
    >>> for element in list:
        print(element)
    
        
    100
    1000.0
    minglang
    1
    2
    Minglang
    >>> print (list[0]) #获取列表list里的第一个元素值
    100
    >>> print (list[-1]) #获取列表list最后一个元素
    Minglang
    >>> print (len(list)) #获取list列表的长度
    >>> num_inc_list = range(10)#range(10)产生一个从0到9数值递增的列表
    >>> print (num_inc_list)
    range(0, 10)
    >>> for inc_list in num_inc_list:
        print(inc_list)
    
        
    0
    1
    2
    3
    4
    5
    6
    7
    8
    9
    >>> 
    View Code

     

    3、用固定值初始化一个列表

    #下面是用一个固定值initial_value去初始化一个列表myList
    1 >>> initial_value = 10
    2 >>> list_length = 5
    3 >>> myList = [initial_value for i in range(10)]
    4 >>> print(myList)
    5 [10, 10, 10, 10, 10, 10, 10, 10, 10, 10]
    View Code

    #用myList = myList * list_length去复制myList
     1 >>> list_length = 2
     2 >>> myList = myList * list_length
     3 >>> print(myList)
     4 [10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10]
     5 >>> copyList = [1,2,3,"minglang"]
     6 >>> copyList = copyList * list_length
     7 >>> print(len(copyList))
     8 8
     9 >>> for c1 in copyList:
    10     print(c1)
    11 
    12     
    13 1
    14 2
    15 3
    16 minglang
    17 1
    18 2
    19 3
    20 minglang
    View Code

    #在一个list中可以包含不同类型的元素,这个和ActionScript 3.0(AS3.0)中的数组类似
    >>> test_list = ["hello",1,2,"world",4,5,"hongten"]
    >>> print(len(test_list))
    7
    View Code

    #打印第一个或最后一个元素
    >>> test_list = ["hello",1,2,"world",4,5,"hongten"]
     77 >>> print(len(test_list))
     78 7
     79 >>> print(test_list[0]) # 打印test_list
     80 hello
     81 >>> #打印test_list中的第一元素
     82 >>> print(test_list[-1]) #打印test_list中最后一个元素
     83 hongten
     84 >>> print(test_list[-len]) #打印第一个元素,出错!
     85 Traceback (most recent call last):
     86   File "<pyshell#44>", line 1, in <module>
     87     print(test_list[-len]) #打印第一个元素
     88 TypeError: bad operand type for unary -: 'builtin_function_or_method'
     89 >>> print(test_list[-len(test_list)]) #打印第一个元素
     90 hello
     91 >>> print(test_list[len(test_list) - 1]) #打印最后一个元素
     92 hongten
    View Code

    #追加、插入、删除元素
     1 >>> test_list.insert(1,0)
     2  97 >>> print(test_list)
     3  98 ['hello', 0, 1, 2, 'world', 4, 5, 'hongten', 6]
     4  99 >>> #上面的操作是向列表test_list的小标为1的地方插入元素0
     5 100 >>> test_list.insert(1,0)
     6 101 >>> print(test_list)
     7 102 ['hello', 0, 0, 1, 2, 'world', 4, 5, 'hongten', 6]
     8 103 >>> test_list.insert(2,1)#插到到下标为2处一个1,原2处的元素后移
     9 104 >>> print(test_list)
    10 105 ['hello', 0, 1, 0, 1, 2, 'world', 4, 5, 'hongten', 6]
    11 106 >>> print(test_list.pop(0)) #返回下标为0的元素,并从test_list中删除之
    12 107 hello
    13 108 >>> print(test_list)
    14 109 [0, 1, 0, 1, 2, 'world', 4, 5, 'hongten', 6]
    15 110 >>> print(test_list.pop(2)) #pop(index)的操作是返回数组下标为index的元素,并从列表中删除之
    16 111 0
    17 112 >>> print(test_list)
    18 113 [0, 1, 1, 2, 'world', 4, 5, 'hongten', 6]
    19 114 >>> test_list.remove(1)
    20 115 >>> print(test_list)
    21 116 [0, 1, 2, 'world', 4, 5, 'hongten', 6]
    22 117 >>> #remove(1)表示的是删除第一次出现的元素1
    23 118 >>> test_list.insert(0,1)
    24 119 >>> print(test_list)
    25 120 [1, 0, 1, 2, 'world', 4, 5, 'hongten', 6]
    26 121 >>> test_list.remove(1)
    27 122 >>> print(test_list)
    28 123 [0, 1, 2, 'world', 4, 5, 'hongten', 6]
    View Code

    #统计元素个数
    1 >>> test_list.insert(2,"hongten")
    2 125 >>> print(test_list)
    3 126 [0, 1, 'hongten', 2, 'world', 4, 5, 'hongten', 6]
    4 127 >>> test_list.count("hongten")
    5 128 2
    6 129 >>> #count(var)是统计var元素在列表中出现的个数
    7 130 >>> test_list.count("foo")
    8 131 0
    View Code

    #元素追加
     1 >>> #使用extend(list)作用是追加一个list到源list上面
     2 >>> test_list_extend = ["a","b","c"]
     3 133 >>> test_list.extend(test_list_extend)
     4 134 >>> print(test_list)
     5 135 [0, 1, 'hongten', 2, 'world', 4, 5, 'hongten', 6, 'a', 'b', 'c']
     6 
     7 >>> test_list_extend.append("h")
     8 
     9 >>> list_a = ["e","z","o","r"]
    10 149 >>> list_a.extend(test_list_extend)
    11 150 >>> print(list_a)
    12 151 ['e', 'z', 'o', 'r', 'a', 'b', 'c', 'h']
    View Code

    #删除操作
    >>del list_b[0,2] 错误  
    >>del list_b[0:2] 正确
     1  >>> #del list[index]删除下标为index的元素,del list[start:end]删除从start下标开始到end下标结束的元素
     2 >>> print(list_b)
     3 [1, 2, 3, 4, 5, 6]
     4 >>> print(del list_b[1]) #出错
     5 SyntaxError: invalid syntax
     6 >>> del list_b[1]
     7 >>> print(list_b)
     8 [1, 3, 4, 5, 6]
     9 >>> del list_b[0:2]
    10 >>> print(list_b)
    11 [4, 5, 6]
    12 
    13 >>> #删除的下标超出了列表的长度范围,就会报错
    14 >>> del list_b[10]
    15 Traceback (most recent call last):
    16   File "<pyshell#42>", line 1, in <module>
    17     del list_b[10]
    18 IndexError: list assignment index out of range
    View Code

    #列表的复制
     1 >>> list_c = range(5);
     2 >>> for c in list_c:
     3      print(c)
     4 
     5      
     6 0
     7 1
     8 2
     9 3
    10 4
    11 >>> list_d = list_c
    12 >>> for d in list_d:
    13     print(d)
    14 
    15     
    16 0
    17 1
    18 2
    19 3
    20 4
    21 >>> #上面是列表的复制
    22 
    23 
    24 >>> list_d[2]=23
    25 Traceback (most recent call last):
    26   File "<pyshell#53>", line 1, in <module>
    27     list_d[2]=23
    28 TypeError: 'range' object does not support item assignment
    29 >>> list_e = [1,2,3,4,5]
    30 >>> list_f = list_e
    31 >>> list_f[2] = 234
    32 >>> print(list_e)
    33 [1, 2, 234, 4, 5]
    34 >>> #从这里我们可以知道,list_f复制了list_e,list_f是对list_e的一个引用,
    35 >>> #他们共同指向一个对象:[1,2,3,4,5],当我们视图修改list_f[2]的值的时候,
    36 >>> #list_f所指向的对象的行为发生了变化,即元素值发生了变化,但是他们的引用是没有
    37 >>> #发生变化的。所以list_e[2] = 234也是在情理之中。
    View Code
     1 >>> list_i = list_e[:]
     2 >>> print(list_i)
     3 [1, 2, 234, 4, 5]
     4 >>> print(list_e)
     5 [1, 2, 234, 4, 5]
     6 >>> list_i[2] = 3
     7 >>> print(list_e)
     8 [1, 2, 234, 4, 5]
     9 >>> print(list_i)
    10 [1, 2, 3, 4, 5]
    11 >>> #上面是进行了列表的克隆操作,即拷贝了另一个列表,这样的操作,会创造出新的一个列表对象
    12 >>> #使得list_i和list_e指向不同的对象,就有着不同的引用,所以当list_i[2] = 3的时候,
    13 >>> #list_e[2]还是等于234,即不变
    View Code
  • 相关阅读:
    字段操作
    数据操作
    表操作
    数据库操作
    如何连接mysql
    mysql新增用户和修改用户密码
    表和库和服务器的关系
    MySql的复合类型
    yum软件源
    常用正则表达式
  • 原文地址:https://www.cnblogs.com/yml6/p/6109101.html
Copyright © 2011-2022 走看看