正文
python之元组,列表和字典的区别
小程序:扫一扫查出行
【扫一扫了解最新限行尾号】
复制小程序
【扫一扫了解最新限行尾号】
复制小程序
Python语言包含6种内建的序列,其中,有两种主要的类型:列表和元组。
列表是可以修改的,而元组不可以,如果要添加或者删除某些元素,就只能用列表,为了限制某些元素,就会用到元组。一般来说,列表可以替代元组。在列表之中,有索引,分片,加,乘等等。
一、list(列表) 用
方括号[]
列表是Python的一种内置数据类型,list是一种有序的集合,可以随时添加和删除其中的元素。
获取list中的元素用角标获取,角标可以使用正角标,也可以使用负角标,越界时抛出IndexErro
list中的元素的
数据类型也可以不一样
(就像Java一样),也可以在list内放另外一个list,这样也就形成了一个多维集合
常用的方法有:
1.len()获取列表的长度
2.X.append(“你好”) 向列表中添加元素
3.X.pop()弹出末尾元素
zoo = ['pig','tiger','dog']
print(len(zoo))
zoo.append("nihao")
print(zoo)
print(zoo.pop())
print(zoo[0])
print(zoo[-1])
单列表操作
# 元组操作 x = [5, 6, 2, 1, 6, 7, 2, 7, 9] # append()方法,就是在列表尾部添加元素
x.append(2)
print(x) # insert(开始位置,插入的值),插入一个元素到指定位置
x.insert(2, 99) # 2是索引,表示这个元素要放什么位置,99是插入的元
print(x) # 删除元素 remove()
x.remove(2) # 这个2是指一个元素不是索引,如果多个,默认移除第一个
print(x) x.remove(x[2]) # 根据索引,直接移除索引对应的元素
print(x) # pop(),移除列表尾部最后一个元素
x.pop()
print(x) # 列表引用
print(x[0:5]) # 相当于一个范围,从左边索引到右边索引,但是不包括右边索引 # -1 索引代表最后一个元素,-2代表倒数第二个
# 此时x= [5, 6, 1, 6, 7, 2, 7, 9]
print(x[-1])
print(x[-2]) # 查找某一个元素的索引值,一下1的索引应该是2
print(x.index(1)) # 计算某一个元素出现的次数
print(x.count(6)) # 元素6出现了2次 # 排序,默认从小到大
x.sort()
print(x) # 字母排序
y = ['Janet', 'Jessy', 'Anthony', 'Tom', 'Alice', 'Bob']
y.sort()
print(y) # 注此处的y为重新排序的y,,y.sort()没有对应的返回值
多列表
# 多维列表
x = [[5, 6], [6, 7], [7, 2], [2, 5], [4, 9]]
# 根据索引引用列表元素,例如打印【6,7】
# print(x[1])
# 打印【6,7】中的7
print(x[1][1])
# 三维
y = [[[5, 7], [6, 6]], [[6, 6], [7, 8]], [7, 2], [2, 5]]
# 打印[[6,6],[7,8]]这个部分中的[6,6]里的第一个6
print(y[1][0][0])
# y看起来有的晕,我们换一个写法
y = [
[[5, 7], [6, 6]],
[[6, 6], [7, 8]],
[7, 2],
[2, 5]
]
# 这样稍微清晰,一点,Y有4个元素,前面两个是两两二维组成,后面两个是单独的二维
二、tuple(元组) 用小括号()
# 多维列表 x = [[5, 6], [6, 7], [7, 2], [2, 5], [4, 9]] # 根据索引引用列表元素,例如打印【6,7】
# print(x[1])
# 打印【6,7】中的7
print(x[1][1]) # 三维
y = [[[5, 7], [6, 6]], [[6, 6], [7, 8]], [7, 2], [2, 5]]
# 打印[[6,6],[7,8]]这个部分中的[6,6]里的第一个6
print(y[1][0][0])
# y看起来有的晕,我们换一个写法 y = [
[[5, 7], [6, 6]],
[[6, 6], [7, 8]],
[7, 2],
[2, 5]
]
# 这样稍微清晰,一点,Y有4个元素,前面两个是两两二维组成,后面两个是单独的二维
元祖也是一种有序列表,和list非常类似,不同点是tuple一旦定义了就不可修改,在一定意义上这也提高了代码的安全性,查询方法和list一样,使用的时候能用tuple的就用tuple。
在定义只有一个元素的元祖时加入"逗号"以免产生和数学运算的歧义
可变的tuple
当元祖内部放一个列表的时候,这个元祖中的列表的值就可以变化了,实际上tuple并没有改变,变的是内部list的值
country = ('bj',['sh','gd'])
print(country[1])
print(country[1][0])
country[1][0] ="nihao"
print(country[1][0])
三、字典
Dictionary (字典) : 用{}来定义
Dict={'name':'Pei', 'age':'26'}
# 字典 # 我们随便设计几个城市的明天的最高温度
tem ={'北京':22,'上海':23,'深圳':24,'广州':25,'南京':26} print(tem) # 打印广州最高温度
print(tem['广州']) # 字典中添加一个元素
tem['重庆'] = 28
print(tem) # 删除上海
del tem['上海']
print(tem) # 更新某一个值
tem['北京'] = 28
print(tem)
# 字典 # 字典里嵌套列表
tem = {'北京': [22, '多云'], '上海': [23, '晴天'], '深圳': [23, '小雨'], '广州': [23, '阴天']} print(tem) # 打印北京天气整体情况
print(tem['北京']) # 打印北京最高温度
print(tem['北京'][0])