Python一维数组

创建一维数组

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
def creat1D(value,n):
return[value]*n
a=creat1D(1,3)
b=creat1D(2,4)
print(a)
print(b)
##output:[1,1,1]
## [2,2,2,2]

def creat1D(begin,step,n):
a=[begin]
for i in range(n-1):
a.append(a[i]+step)
return a
print(creat1D(1,3,5))
##output:[1,4,7,10,13]

def creat1D(begin,step,n):
a=[0]*n
for i in range(n):
a[i]=begin+i*step
return a
print(creat1D(1,3,5))
##output:[1,4,7,10,13]

一维数组初始化

First

1
2
3
4
5
s=[]
for i in range(10):
s.append(0)
print(s)
##output:[0,0,0,0,0,0,0,0,0,0]

Second

1
2
3
s=[0]*10
print(s)
##output:[0,0,0,0,0,0,0,0,0,0]

Third

1
2
3
s=list(range(5))
print(s)
##output:[0,1,2,3,4]

Forth

1
2
3
4
5
6
7
s=[ 0 for i in range(5)]
print(s)
##output:[0,0,0,0,0]

s=[i+1 for i in range(5)]
print(s)
##output:[1,2,3,4,5]

Fifth

1
2
3
s=[0,0,0,0,0]
print(s)
##output:[0,0,0,0,0]

数组的复制

1
2
3
4
5
6
7
8
9
10
11
12
13
14
s=[1,3,3]
s1=s ##错误的复制,这个只是引用
print(s)
print(s1)
##output:[1,3,3]
##output:[1,3,3]

s=[1,3,3]
s1=s ##错误的复制,这个只是引用
s[1]=2
print(s)
print(s1)
##output:[1,2,3]
##output:[1,2,3]

正确的数组复制

First

1
2
3
4
5
6
7
8
9
s=[1,3,3]
s1=[]
for e in s:
s1.append(e)
s[1]=2
print(s)
print(s1)
##output:[1,2,3]
##output:[1,3,3]

Second

1
2
3
4
5
6
7
8
9
s=[1,3,3]
s1=[]
for i in range(len(s)):
s1.append(s[i])
s[1]=2
print(s)
print(s1)
##output:[1,2,3]
##output:[1,3,3]