序列
前言
python中常用的序列结构有:字符串、列表、元组、字典、集合。
列表
a = [10,20,30,40]
列表的创建
a = []
a = list()
a = list(range(10)) [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
range([start,] end [,step])
list(range(3,15,2)) [3, 5, 7, 9, 11, 13]
列表元素的增加和删除
增加
a.append(80)
a = a+[50]
a.extend([50,60]) (不创建新的列表)
a.insert(2,100)
b = a*3 a= [‘sxt’, 100] >>> [‘sxt’, 100, ‘sxt’, 100, ‘sxt’, 100]
删除
del a[1]
a.pop() #删除并返回指定位置元素
a.remove(20)
列表元素访问和计数
a[2]
a.index(20) #获取指定元素首次出现的索引位置
a.count(20)
len(a) #返回列表长度
[:] #提取整个列
列表的遍历
for obj in listObj:
print(obj)
列表的排序
a.sort() #默认是升序排列
a.sort(reverse=True) #降序排列
random.shuffle(a) #打乱顺序
a = sorted(a) #默认升序
c = sorted(a,reverse=True) #降序
多维列表
a = [
[“高小一”,18,30000,“北京”],
[“高小二”,19,20000,“上海”],
[“高小一”,20,10000,“深圳”],
]
for m in range(3):
for n in range(4):
print(a[m][n],end="\t") print() #打印完一行,换行
元组tuple
创建
a = (1,)
tuple(range(3)) #元组创建列表
s.next() #生成器推导式创建元组
字典
创建
b = dict(name=‘gaoqi’,age=18,job=‘programmer’)
c = {} #空的字典对象
d = dict() #空的字典对象
k = [‘name’,‘age’,‘job’]
v = [‘gaoqi’,18,‘techer’]
d = dict(zip(k,v)) #通过 zip()创建字典对象
a = dict.fromkeys([‘name’,‘age’,‘job’])
字典元素的访问
a = {‘name’:‘gaoqi’,‘age’:18,‘job’:‘programmer’}
a[‘name’]
a.get(‘name’)
a.items()
dict_items([(‘name’, ‘gaoqi’), (‘age’, 18), (‘job’, ‘programmer’)])
a.keys()
dict_keys([‘name’, ‘age’, ‘job’])
字典元素添加、修改、删除
a = {‘name’:‘gaoqi’,‘age’:18,‘job’:‘programmer’}
a[‘address’]=‘西三旗 1 号院’
b = {‘name’:‘gaoxixi’,‘money’:1000,‘sex’:‘男的’}
a.update(b)
del(a[‘name’])
a.popitem() #随机删除和返回该键值对。
章节实操作业
1.画出代码 a = [100,200,300]的内存存储示意图。
2.使用 range 生成序列:30,40,50,60,70,80
list(range(30,90,10))
- 推导式生成列表: a = [x*2 for x in range(100) if x%9==0],手写出结果。
[0, 18, 36, 54, 72, 90, 108, 126, 144, 162, 180, 198]
4.使用二维列表存储表格信息,并画出简单的内存存储示意图:
a = [
[“高小一”,18,30000,“北京”],
[“高小二”,19,20000,“上海”],
[“高小一”,20,10000,“深圳”],
]
5.元组和列表有哪些共同点?有哪些不同点?
共同点:创建和删除,元素的访问和计数。
不同点:列表属于可变序列,可以任意修改列表中的元素。元组属于不可变序列,不能修改元组中的元素。
6. 创建一个字典对象,包含如下信息:
支出金额:300.15,支出日期:2018.10.18,支出人:高小七
a = {‘支出金额’:300.15,‘支出日期’:‘2008.10.18,’,‘支出人’:‘高小七’}
7.使用字典存储行数据,最后将整个表使用列表存储起来。
r1 = {“name”:“高小一”,“age”:18,“salary”:30000,“city”:“北京”}
r2 = {“name”:“高小二”,“age”:19,“salary”:20000,“city”:“上海”}
r3 = {“name”:“高小五”,“age”:20,“salary”:10000,“city”:“深圳”}
tb = [r1,r2,r3]
8. 用文字和自己画的示意图描述:字典存储一个键值对的底层过程。
9.集合和字典有什么关系?
集合底层是字典实现,集合的所有元素都是字典中的“键对象”