python编程的基本数据结构简介

今天我们来学习一下python中的几个基本数据结构。数据结构是数据存储的结构。对数据结构的操作主要有创建、更新、删除、查询等,也即我们常说的增删改查,或者crud。今天主要介绍python编程中的列表、字典和元组三个数据结构。

列表

列表简介

列表是有一系列特定顺序排列的元素组成。其中,元素可以是数字,是文本,甚至是其他的数据结构。可以说列表的的组成非常灵活多样。

如何创建一个列表

在python语言中,用方括号[ ]来表示列表,并用逗号分隔其中的元素。创建列表可以从空列表开始创建,也可以把一些元素直接包含在列表中。我们创建一个中国城市的列表,并打印出来。

citis=['北京','上海','guangzhou']
print(citis)

可以看到结果如下:

['北京', '上海', 'guangzhou']

如何查看列表里的数据

1.查询特定元素

列表是一个有顺序的数据结构,访问列表里的元素,需要将该元素的索引或者位置告诉代码。现在让我们看看cities这个列表的第2个元素是哪个城市

citis=['北京','上海','guangzhou']
print(citis[1])

答案是上海,由于列表的索引是从0开始,而不是从1开始,所以查询第2个元素,则索引应该为1。

  1. 查询所有元素

如果我们要查看列表里的每一个元素,则可以采用循环的方式来遍历整个列表。

for city in citis:
    print(city)

可以看到结果被依次打印出来、

北京
上海
guangzhou
  1. 访问列表中的一部分数据
    可以用切片的方式来访问列表中的一部分数据。所谓切片是指从在列表中从某个位置到另外一个位置取出其数据。例如我们想看看列表第2到第4这三个元素的数据。
views=['天安门','上海滩','小蛮腰','莲花山','泰山','九寨沟','青海湖']
print(views[1:4])
['上海滩', '小蛮腰', '莲花山']

值得注意的是,切片表达式的最后一个索引值并不输出数据。如果我们要看一下最后三个元素。则

print(views[-3:])
['泰山', '九寨沟', '青海湖']

如何修改列表里的数据

由于列表是动态的,可以对列表进行增删改查,现在我们想把guangzhou改成中文的描述方式。我们知道guangzhou在第三个位置,所以

citis[2]='广州'
print(citis)

从下面可以看到我们的修改生效了。

['北京', '上海', '广州']

如何向列表里添加数据

现在我们想把”深圳“加入到列表里,这里有两个方法。我们可以直接把元素放在列表的最尾部,或者说想要放在特定的位置。

  1. 把元素放在列表最尾部,我们使用append方法。代码如下:
citis.append('深圳')
print(citis)

可以看到深圳被放在了最后。

['北京', '上海', '广州', '深圳']
  1. 指定放置位置,我们用insert方法,比如我们把天津放在列表的第四个位置。代码如下
citis.insert(3,'天津')
print(citis)
['北京', '上海', '广州', '天津', '深圳']

如何删除列表里的数据

有些数据当不再需要的时候,就可以从列表中删除。删除的方法有很多,可以应对不同的删除方式。

  1. 当我们知道具体的元素时,可以用通过remove方法来实现删除。
citis=['北京', '上海', '广州', '天津', '深圳', '重庆', '大连', '青岛']
citis.remove('天津')
print(citis)

从结果可以看到,“天津”被删除了

['北京', '上海', '广州', '深圳', '重庆', '大连', '青岛']
  1. 如果知道要删除数据的索引,可以用del方法来删除元素。下面我们删除第六个城市“大连”,其索引为5
del citis[5]
print(citis)
['北京', '上海', '广州', '深圳', '重庆', '青岛']

或者采用pop方法,类似于出栈的方式。现在我们弹出剩余城市的第5个城市“重庆”,其索引为4

citis.pop(4)
print(citis)
['北京', '上海', '广州', '深圳', '青岛']

字典

字典简介

在python中,字典是一系列的键-值对,即key-value对。每个key与一个value相关联。其中value可以是任意的数据结构,包括数字、列表甚至是字典。

如何创建一个字典

字典用花括号{}来表示,每一个key-value用冒号联系,而不同的key-value对则用逗号分隔。现在我们创建城市名胜的字典。

city_view={'北京':'故宫','上海':'外滩','广州':'珠江','青岛':'崂山','西宁':'青海湖','西安':'兵马俑'}
print(city_view)
{'西安': '兵马俑', '北京': '故宫', '西宁': '青海湖', '上海': '外滩', '青岛': '崂山', '广州': '珠江'}

从打印的结果可以看到,字典中键值对的存储是无序的。

如何访问字典中的数据

由于字典的数据是键值对的方式存储,要想访问字典里的数据,只需要找到键就可以了。下面我们要看看北京的名胜是什么,则直接通过北京这个键来关联。

print(city_view['北京'])
故宫

如果我们要访问字典的所有键值对,那么则需要遍历。
1.遍历所有的键值对
我们用for循环来遍历所有的键值对。

for k, v in city_view.items():
    print("\n Key: "+k)
    print("Value: "+v)
  1. 遍历所有的键或者值
    当只查看键时,可以用方法keys()。 当只查看键时,可以用方法values()。
for k in city_view.keys():
    print("\n Key: "+k)
 
for v in city_view.values():
    print("Value: " + v)

如何修改字典中的数据

要修改字典中的值,可通过键来关联,并用新的值来关联。把北京的名胜改成长城

city_view['北京']='长城'
print(city_view)
{'西宁': '青海湖', '西安': '兵马俑', '北京': '长城', '青岛': '崂山', '广州': '珠江', '上海': '外滩'}

如何向字典中添加新的数据

字典是一种动态结构,可以随时添加key-value对。要添加键值对,直接对字典的键值对进行赋值即可。如,现在增加深圳-莲花山这个键值对。

city_view['深圳']='莲花山'
print(city_view)
{'深圳': '莲花山', '北京': '长城', '西宁': '青海湖', '上海': '外滩', '广州': '珠江', '青岛': '崂山', '西安': '兵马俑'}

python不关心键值对的顺序,只关心键值之间的关系。

如何删除字典中的数据

当不需要字典中的一些信息,可以使用del将相应的键值对删除,只需要指定字典名和要删除的键。现在我们删除 ‘青岛’: '崂山’这个数据。

del city_view['青岛']
print(city_view)
{'深圳': '莲花山', '上海': '外滩', '北京': '长城', '西安': '兵马俑', '广州': '珠江', '西宁': '青海湖'}

元组

列表和字典是动态的,可以存储变化的数据。当有些数据不能修改时,我们可以用元组来存储。

元组简介

不可变的列表称为元组。用圆括号来标识。定义元组后,可以像访问列表一样来访问。
现在假设表达一个固定矩形的信息,即长和宽。

area=(10,15)
print(area[1])

创建和访问元组和列表类似,但是不可以对元组的数值修改。不过重新对元组变量进行赋值。

area[1]=25 这是不允许的。而

area=(10,15)
print(area[1])
area=(100,105)

是允许的。

总结

今天我们介绍了python常用的三种数据结构:列表,字典和元组。其中列表和字典是动态的,可以对存储的数据进行增删改查,而元组是不可变的,不可以进行修改。对这三种数据结构的掌握需要在具体业务中多加练习。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值