Python_数组使用
精品字里行间 数组数组(list)(list) 5.15.1 数组的初始化数组的初始化 在前几章中我们学习过,数组的初始化,如 A =[1,2,3,4]。 B = [ ]表示 B 是一个空的数组,一个元素都没有。 在 C 语言中,我们声明一个具有10 个元素的数组,可以写作: int x[10]; 如果我们在 python 中也想声明一个具有指定元素个数的数组,怎么写呢? 一、 初始化一个具有 100 个 0 的数组 A = [ 0 for I in range(0,100)] [ 0 for I in range(0,100)] 或 N=100 A = [ 0 for I in range(0,N) ][ 0 for I in range(0,N) ] 二、 初始化一个具有 100 个元素,它的元素依次是1, 2 , 3, 4 , … 100 的数组 A = [ i for i in range(1,100+1) ] print( A ) [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] 22222 三、 初始化一个具有 20 个元素,它的元素依次是1 , 2 , 3 , 4 , … 20 的数组 A = [ i*i for i in range(1,20+1) ] print( A ) [1, 4, 9, 16, 25, 36, 49, 64, 81, 100,121, 144, 169, 196, 225, 256, 289, 324, 361, 400] 四、 初始化一个具有 20 个元素,它的元素依次是f(1),f(2),f(3),f(4),…,f(20)的数组 其中: f(x) = 2x+5 def f( x ): return 2*x+5 A = [ f(i)f(i) for i in range(1,20+1) ] print( A ) [7, 9, 11, 13, 15, 17, 19, 21, 23, 25, 27, 29, 31, 33, 35, 37, 39, 41, 43, 45] 放心做自己想做的 精品字里行间 五、 初始化一个具有 5 行 3 列数组,初始化一个具有5 行 3 列数组,它的每个元素都是0 Hang=5 Lie =3 A = [ [ 0 for L in range(0,Lie)] for H in range(0,Hang) ] print( A ) [[0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0]] 5.25.2 随机数函数随机数函数 正如使用数学函数前, 需要先 import math 一样,欲使用随机函数,需要先导入 random 模块,引入的方法有两种: 方法一: import random 这种方法调用随机数的方法时: X = random.randint(1,10) # 产生一个从 1 到 10 之间的随机数 方法二: from random import randint 这种方法调用随机数的方法时: X = randint(1,10) # 产生一个从 1 到 10 之间的随机数 例如:产生,并打印 10 个随机数: from random import randint for i in range(0,10): print( randint(1,10) ) 8 8 1 7 9 5 6 4 6 8 5.35.3 产生产生 1010 个个(1,100)(1,100)之间的随机数,存入一个数组中之间的随机数,存入一个数组中 from random import randintfrom random import randint A =[ randint(1,100) for i in range(0,10)]A =[ randint(1,100) for i in range(0,10)] print( A )print( A ) [31, 45, 68, 93, 97, 98, 33, 77, 18, 88][31, 45, 68, 93, 97, 98, 33, 77, 18, 88] 当然,每次运行这段程序的结果都不同,这就是“随机”数的意思。 放心做自己想做的 精品字里行间 5.45.4 向数组的尾部增加元素向数组的尾部增加元素 #coding=gbk#coding=gbk # #向列表的尾部增加元素向列表的尾部增加元素 x=[1,2,3,4]x=[1,2,3,4] x.x.append append( 5 ) ( 5 ) print( x )print( x ) [1, 2, 3, 4, 5][1, 2, 3, 4, 5] 5.55.5 向数组中间插入一个元素向数组中间插入一个元素 A=[ 3,7,8,10]A=[ 3,7,8,10] print(“A=“,A)print(“A=“,A) A.A.insert insert( 2,20) ( 2,20) print(“print(“插入后插入后,A=“,A),A=“,A) 说明: A.insert( 2,20)A.insert( 2,20)表示表示 在在 A A 的第的第 2 2 个元素前插入新元素个元素前插入新元素 20 . 20 . A= [3, 7, 8, 10]A= [3, 7, 8, 10] 插入后插入后,A= [3, 7, 20, 8, 10],A= [3, 7, 20, 8, 10] 5.65.6 删除数组中的一个元素删除数组中的一个元素 A=[ 3,7,8,10]A=[ 3,7,8,10] print(“A=“,A)print(“A=“,A) del(A[2])del(A[2]) print(“print(“删除第删除第 2 2 个元素后个元素后,A=“,A),A=“,A) 第 2 个元素 A= [3, 7, 8, 10]A= [3, 7, 8, 10] 删除第删除第 2 2 个元素后个元素后,A= [3, 7, 10],A= [3, 7, 10] 5.75.7 数组的切片数组的切片 通过操作符“[ : ]”,将列表元素连续取出的部分,叫切片,又叫子列表(它仍然是数 组) 。 切片 A[mA[m ::n]n]的意思是:在数组 A 中,起始位置为 m, 结束位置为 n ( 但