列表:Python中最常用的序列类型。
它由一系列元素组成,元素包含在一对方括号“[]”中。lst=[10,20,30,40,50],
列表具有如下特性:
(1)列表中元素类型可以相同,也可以不同;
(2)每个元素都有索引和值两个属性,索引用于标识元素在列表中的位置,值指的是元素对应的值。
元组:也是序列数据,可含多个元素(允许重复),所有元素包含在一对圆括号“()”中。
yz=(3,4,5,3) yz[1]
元组创建后,元组中的值不能修改(增/删/改)。
字典(dict)是映射(Map)类数据(非序列),可以看作是键值对构成的数据容器。
搜索字典中的元素,首先查找键,根据键获取对应的值。这是一种高效、快速的查找方法。
字典中键是唯一的,值可以重复。键必须是不可变数据(不能是列表/字典/集合等可变数据),值可以是任何数据。
集合:0个或多个元素的数据集,集合中的元素不允许重复,可利用集合快速自动去重。
集合是可变的,可以向集合中添加或删除元素
集合是无序的(无索引序号的概念),不能用下标访问。
习题
1. 输出列表1st=[1,2,1,12,10,5,2,7,1,8]中不重复的元素,并统计数据个数。
lst=[1,2,1,12,10,5,2,7,1,8]
s=set(lst) #化成集合(集合内元素不重复)
print(s,len(s))
结果:
{1, 2, 5, 7, 8, 10, 12} 7
2.假这两个元组x=(1,3,2)和y=(5,9,4,7)。将两个元组的数据合并再并按从小到大的顺序排序.
x=(1,3,2)
y=(5,9,4,7)
lst=list(x)+list(y) #将元组转换成列表进行合并,元组不可直接合并
lst.sort()
tpl=tuple(lst) #再将列表转换成元组
print(tpl)
结果:
(1, 2, 3, 4, 5, 7, 9)
3.假设两个集合 a={1,2,3,4,5}和b={2,4,6},找出属于集合a但不属于集合b的元素。
a={1,2,3,4,5}
b={2,4,6}
s=a&b #a,b都有存在的元素,s={2,4}
t=a-s #属于a不属于s,所以属于a不属于b
print(t)
结果:
{1, 3, 5}
4. 使用字典保存学生姓名和对应成绩,输出所有学生姓名,并我出某个学生的成绩。
scores={'张三':78,'李四':89,'刘五':50}
names=scores.keys()
for x in names:
print(x)
scores.get('李四') #找某个学生
结果:
张三
李四
刘五
Out[14]: 89