![](https://i-blog.csdnimg.cn/blog_migrate/f9163f5bffdc3ee8613cde639f6a00e8.png)
前言
现实生活中,我们会在家里摆放各种家具,用于存放不同类型的物品,比如鞋柜,衣柜,书柜,茶几、电视柜等。在python中也是一样,当使用的数据越来越多时,就需要考虑如何存放这些数据,会更加合理(方便存取)。
Python中储存数据有四种结构类型,分别是:列表、字典、元组、集合。这四种结构类型分别有自己适用的场合,我们可以先整体对比,看看语法上的区别。
# 列表:
list = ['刘备', '关羽', '张飞', '十方上下']
# 字典:
dict = {1:'刘备', 2:'关羽', 3:'张飞', 4:'十方上下'}
# 元组:
tuple = ('刘备', '关羽', '张飞', '十方上下')
# 集合:
set = {'刘备', '关羽', '张飞', '十方上下'}
列表使用中括号;字典使用大括号,括号中数据是key:value格式;元组使用小括号;集合使用大括号。
列表
python中的列表(list),类似于生活中的火车。它的主要特征,每个位置都可以保存一个任意类型的数据,根据添加顺序保存数据,所以列表中的数据是有序的。
定义的列表变量默认指向第一个数据,所以访问使用索引(偏移量)的方式来实现,索引从0开始,指向第一个数据。
示例一:保存四个好友的姓名。(相同类型的数据)
friends = ['老王', '二胖', 'jack马', '十方上下']
如果要访问’二胖’,使用friend[1]。表示从第一个数据开始,向后偏移1次。
示例二:保存一个好友的基本信息:姓名,电话,年龄,住址(不同类型的数据)
ma = ['jack马', '13800138000', 48, '武汉市xx街26号']
示例三:保存一个好友的基本信息,包含多个电话号码(列表嵌套使用)
ma = ['jack马', ['13800138000', '110' ,'120']]
列表数据操作(添加、删除、修改、访问)
大家如果为了学习语法而学习,很难记住这些语法的使用,这儿介绍我的学习经验, 通过给自己提几个问题(需求),反复练习语法7遍以上,基本都不会再忘记了,就算隔很长时间(大于一个月)忘记了,通过阅读自己的代码也能很快的再次上手。
接下来,我先提出几个需求吧。因为以后是打算做爬虫来爬取A股信息,所以这儿就以A股数据存储和分析的需求来提问。
1.定义一个列表,保存“自选股”
stockList = ['603477', '600876', '300792', '002800']
print(stockList)
2.添加3支票到“自选股”列表\
stockList = ['603477', '600876', '300792', '002800']
stockList.append('002552') # 添加一个数据
stockList.extend(['002351', '300078']) # 添加多个数据
print(stockList)
3.遍历“自选股”中的所有票(分别使用while循环和for循环实现)
stockList = ['603477', '600876', '300792', '002800']
# while方式
i = 0
while i < len(stockList) :
print(stockList[i])
i += 1
# for方式
for stock in stockList :
print(stock)
4.删除不打算再观察的票
stockList = ['603477', '600876', '300792', '002800']
stockList.remove('002552') # 根据数据删除
del stockList[2] # 根据下标删除
print(stockList)
5.查看前2只票和最后一只票
stockList = ['603477', '600876', '300792', '002800']
print(stockList[0:2])
print(stockList[-1])
print(stockList)
6.添加一只票到列表末尾,插入一只票到第2个位置
stockList = ['603477', '600876', '300792', '002800']
stockList.insert(1, '603610')
print(stockList)
7.将第3只票替换成"000001"
stockList = ['603477', '600876', '300792', '002800']
stockList[2] = '000001'
print(stockList)
8.将两个“自选股”列表合并
stockList1=['603610', '002552']
stockList2=['002351', '300078']
stockList = stockList1+stockList2
print(stockList)
9.将“自选股”复制一份到“超短自选”,然后再清空“自选股”
stockList = ['603477', '600876', '300792', '002800']
stocks = stockList.copy()
stockList.clear()
print(stocks)
print(stockList)
练习
-
定义一个列表“合作伙伴”,保存4个公司名称
-
遍历“合作伙伴”列表
-
添加4个公司到列表
-
分别根据名称和索引删除一家公司
-
查看前两个公司和后两个公司
-
插入一家公司到第1个位置
-
将“合作伙伴”列表复制到“合作公司”,清空“合作伙伴