简介
数据结构是处理数据的结构, 或者说, 他们是用来存储一组相关数据的.
在 Python 中三种内建的数据结构 -- 列表, 元组和字典. 学会了使用它们会使编程变得的简单.
列表
list 是处理一组有序的数据结构, 即你可以在一个列表中存储一个序列的项目. 在 Python 每个项目之间用逗号分隔.
列表中的项目应该包括在方括号中, 所以列表是一个可变的数据类型.
使用列表
- shoplist = ['apple','mango','carrot','banana']
- print('I have',len(shoplist),'items to purchase.')
- print('These items are:',shoplist)
- for item in shoplist:
- print(item)
- print('I also have to buy rice.')
- shoplist.append('rice')
- print('My shopping list is now',shoplist)
- print('I will sort my list now')
- shoplist.sort()
- print('Sorted shopping list is',shoplist)
- print('The first item I will buy is',shoplist[0])
- olditem = shoplist[0]
- del shoplist[0]
- print('I bought the',olditem)
- print('My shopping list is now',shoplist)
- print(help('list'))
运行效果
元组
tuple
元祖和列表十分类似, 只不过元祖和字符串一样是不可变的.
元祖使用圆括号用逗号分隔项目
使用元组
- zoo = ('wolf','elephant','penguin')
- print(type(zoo))
- print('Number of animals in the zoo is',len(zoo))
- new_zoo = ('monkey','dolphin',zoo)
- print('Number of animals in the new zoo is',len(new_zoo))
- print('All animals in new zoo are',new_zoo)
- print('Animals brought from old zoo are',new_zoo[2])
- print('Last animal brought from old zoo is',new_zoo[2][2])
- print('==================================================')
- # 元祖与打印语句
- age = 22
- name = 'Swaroop'
- #%d 表示整数 %s 表示字符串
- print('%s is %d years old'%(name,age))
- print('Why is %s playing with that python?'%name)
运行结果
print 语句可以使用跟着 % 符号的项目元组的字符串. 这些字符串具备定制的功能. 定制让输出满足某种特定的格式. 定制可以是 %s 表示字符串或 %d 表示整数. 元组必须按照相同顺序来定制.
字典
以键值对的方式存储数据, 键必须是唯一的, 记住字典中的键 / 值对是没有顺序的. 如果你想要一个特定的顺序, 那么你应该在使用前自己对它们排序.
只能使用不可变对象来作为字典的键.
字典 d={key1:value1,key2:value2}
字典是 dict 类的实例 / 对象
使用字典
- a={
- 'Swaroop':'aaaaa',
- 'larry':'bbbbb',
- 'Mats':'ccccc'
- }
- print("Swaroop's value is %s"%a['Swaroop'])
- a['Qing'] = 'asdasd'
- print(a)
- del a['Mats']
- for name ,value in a.items():
- print('Contact %s at %s'%(name,value))
- if 'larry' in a:
- print("larry's value is %s"%a['larry'])
运行结果
关键字参数与字典.
如果换一个角度看待你在函数中使用的关键字参数的话, 你已经使用了字典了! 只需想一下 -- 你在函数定义的参数列表中使用的键 / 值对. 当你在函数中使用变量的时候, 它只不过是使用一个字典的键 (这在编译器设计的术语中被称作 符号表 ).
序列
列表, 元组和字符串都是序列, 序列的两个主要特点是索引和切片, 索引可以从序列中抓取一个特定的项目.
切片操作符使我们能够获取序列的一个切片 (一部分序列).
使用序列
- # 序列
- '''列表, 元组和字符串都是序列
- 序列的两个主要特点是索引和切片
- 索引可以从序列中抓取一个特定的项目.
- 切片使我们能够获取序列的一个切片 (一部分序列)'''
- print(__doc__)
- shoplist = ['apple','mange','carrot','banana']
- print('Item 0 is',shoplist[0])
- print('Item 1 is',shoplist[1])
- print('Item 2 is',shoplist[2])
- print('Item 3 is',shoplist[3])
- print('Item -1 is',shoplist[-1])
- print('Item -2 is',shoplist[-2])
- print('Item 1 to 3 is',shoplist[1:3])
- print('Item 2 to end is',shoplist[2:])
- print('Item 1 to -1 is',shoplist[1:-1])
- print('Item start to end is',shoplist[:])
- name = 'swaroop'
- print('characters 1 to 3 is',name[1:3])
- print('characters 2 to end is',name[2:])
- print('characters 1 to -1 is',name[1:-1])
- print('characters start to end is',name[:])
运行结果
print() 换行问题
print(item,end=' ')
end 就表示 print 将如何结束, 默认为 end="\n"(换行), 只要让 end 不使用默认值 "\n", 就能阻止它换行.
对象与类的快速入门
列表是使用对象和类的一个例子. 当你使用变量给它赋值的时候, 比如 i=5, 你可以认为你创建了一个类型为 int 的对象 i. 事实上可以通过 help(int) 更好的理解这个概念.
来源: https://www.cnblogs.com/liuhappy/p/10619261.html