多维数组和元组
把多维数组和元组写在一起理解,是因为我觉得他们两个和列表都有关系,放在一起会好理解一些,多维数组,就是存在多个列表集合的列表,只有在列表元素比较复杂的时候,才会用到多维数组吧,而元组也是列表,只是一种不可变量的数据类型,只有在特殊情况下才会使用元组。
一、多维数组
我的理解是列表中嵌套有列表的话,就是多维的数组,有几个数组就是几维,下标取值的需要一层一层的查找,从最外面的数组开始,嵌套的一个数组,作为一个元素。
- 多维数组的取值
list=[1,2,3,'lisi',['zhang','MLing','niu',['han','jia','pu']]]
print(list[4][3][2])
返回结果:
pu
二、元组
元组与列表一样是一个列表,但是不可变的变量,是不可以改变里面的值,一般在操作数据库的时候,连接数据库的地址,用户名和密码这些不允许修改的值,可以放在元组中。列表可以通过下标修改元素的值,但是元组是不可以的,修改会报错的,元组只有count和index方法。
1.元组的定义
b=('hello world',) #这个是定义元组
c=('hello world') #这个是字符串
print('this is',type(b))
print('this is',type(c))
返回结果:
this is <class 'tuple'>
this is <class 'str'>
注意:定义元组的时候,如果元组只有一个元素,那么你要在这个元素后面加一个逗号,要不然就是一个字符串
2.取值可以用下标
tp = (1,2,3,4,5,6,1,1,1)
print(tp[0])
返回结果:
1
3.Count()方法统计一个元素在元组中出现了几次
tp = (1,2,3,4,5,6,1,1,1)
print(tp.count(1))
返回结果:
4
4.Index()方法查看元素对应的下标
tp = (1,2,3,4,5,6,1,1,1)
print(tp.index(1))
返回结果:
0
5.Tuple()强制类型转换
lis = ['127.0.0.1','3306']
new_lis = tuple(lis)
print(new_lis)
print(type(new_lis))
返回结果:
('127.0.0.1', '3306')
<class 'tuple'>
注意:强制类型转换函数:int()、 float()、 str()、 list()、 tuple()