Python

Python中的数组

2018-08-08  本文已影响27人  逆风g

很多编程语言中都有数组这一对象,Python和它对应的则是列表list,还有元组tuple。元组和列表有很多相似地方,最大区别在于不可变。可以理解为Python中的list对应为其它与语言中的可变数组,而tuple对应为不可变数组。不可变指的是不能对里面的元素进行增加删除修改排序倒序等操作。下面会依依介绍到它俩:

List

a = []
b = [1, 2, 3, 4]
c = ['hello', 'world']
d = [1, 'hello', [1], False]
f = list('hello')
print a
print b
print c
print d
print f

打印结果:

[]
[1, 2, 3, 4]
['hello', 'world']
[1, 'hello', [1], False]
['h', 'e', 'l', 'l', 'o']
a = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
# 访问下标为1的元素
print a[1]
# 访问最后一个元素
print a[-1]
# 访问所有元素
print a[:]
# 访问从第三个元素到最后一个元素
print a[3:]
# 访问从第1个元素到倒数第四个元素,但不包括它倒数第四个元素
print a[:-4]
# 访问从第4个元素到第六个元素,但不包括第六个元素
print a[4:6]

打印结果:

1
9
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
[3, 4, 5, 6, 7, 8, 9]
[0, 1, 2, 3, 4, 5]
[4, 5]
a = [1, 2, 3]
# 末尾增加一个元素4
a.append(4)
print a
# 0的位置插入一个元素0
a.insert(0,0)
print a
# 删除下标为4的元素
a.remove(4)
print a
# 把最后一个元素从列表中移除并返回移除的元素值
b = a.pop()
print a
print b
# 修改0位置的元素值
a[0] = 9
print a

打印结果:

[1, 2, 3, 4]
[0, 1, 2, 3, 4]
[0, 1, 2, 3]
[0, 1, 2]
3
[9, 1, 2]
a = [1,2,3]
b = [4,5,6]
c = a+b
d = ['Hi'] * 3
print c
print d

打印结果:

[1, 2, 3, 4, 5, 6]
['Hi', 'Hi', 'Hi']
a = [2, 3, 0, 4, 5, 1]
# 判断3是否在列表a中
print 3 in a
# 找到3在列表中的位置
print a.index(3)
# 使列表a元素倒序
a.reverse()
print a
# 给列表a元素排序
a.sort()
print a
# 打乱列表a的元素位置
random.shuffle(a)
print a
# 计算列表a的长度
print len(a)
# 求列表a中最大的元素
print max(a)
# 求列表a中最小的元素
print min(a)

打印结果:

True
1
[1, 5, 4, 0, 3, 2]
[0, 1, 2, 3, 4, 5]
[0, 1, 2, 5, 4, 3]
6
5
0

Tuple

a = ()
b = (1, 2, 3, 4)
c = ('hello', 'world')
d = (1, 'hello', [1], False)
f = tuple('hello')
g = ('hi',)
print a
print b
print c
print d
print f
print g

打印结果:

()
(1, 2, 3, 4)
('hello', 'world')
(1, 'hello', [1], False)
('h', 'e', 'l', 'l', 'o')
('hi',)
a = (1, 2, 3)
del a
a = (2, 3, 0, 4, 5, 1)
# 判断3是否在元组a中
print 3 in a
# 找到3在元组中的位置
print a.index(3)
print len(a)
# 求元组a中最大的元素
print max(a)
# 求元组a中最小的元素
print min(a)

打印结果

True
1
6
5
0

List和Tuple相互转换

List转换成Tuple需要用到tuple函数,同理Tuple转换成List用到list函数:

a = [1,2,3]
b = (4,5,6)
c = tuple(a)
d = list(b)
print c
print d

打印结果

(1, 2, 3)
[4, 5, 6]
上一篇 下一篇

猜你喜欢

热点阅读