美文网首页Python
Python中的数组

Python中的数组

作者: 逆风g | 来源:发表于2018-08-08 23:22 被阅读27次

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

List

  • 初始化
    Python中的列表用方括号来表达,里面元素用逗号隔开,依次初始化一个空数列表整型列表字符串列表混合类型列表,最后还用到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']
  • 元素访问
    Python中的列表可以通过下标访问某个指定位置的元素,也可以通过切片方式访问指定范围内的元素:
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

  • 初始化
    Python中的元组用小括号来表达,里面元素用逗号隔开,当只有一个元素时,需要在元素后面加逗号,和列表类似:
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
  • 操作符
    元组同样支持+*,和列表中的用法是一样的。
  • 其它操作
    和元组相比,不支持reverse()sort()random.shuffle()
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]

相关文章

网友评论

    本文标题:Python中的数组

    本文链接:https://www.haomeiwen.com/subject/urjfbftx.html