Python 基础之数据类型二
1、定义:list是一种有序集合。
可以随时添加、删除集合中的数据;
由于Python是一种动态数据,所以list里面的数据可以是多种类型。
例子:
假设班里有3名同学:Adam,Lisa和Bart,他们的成绩分别是 95.5,85 和 59,请按照 名字, 分数, 名字, 分数... 的顺序按照分数从高到低用一个list表霸捧示,然后打印出来。
L = ['Adam', 95.5, 'Lisa', 85, 'Bart', 59]
print L

2、list访问:由于list是有序集合,所以可以根据索引访问list里面的元素,同时也可以使用for循环来访问list里面的数据颂趣躲。
例子:
三名同学的成绩可以用一个list表示:
L = [95.5, 85, 59]
请分别打印出第一名、第二名、第三名
L = [95.5, 85, 59]
print L[0],'\n',L[1],'\n',L[2]
L = [95.5, 85, 59]
for score in L:
print score


3、list 倒序访问list:Python提供了一种倒序访问list的方法,倒数第一名使用list[-1]获取,后面的依次类推,但是不要越界
例子:
三名同学的成绩可以用一个list表示:
L = [95.5, 85, 59]
请按照倒序索引分别打印出倒数第一、倒数第二、倒数第三。
L = [95.5, 85, 59]
print L[-1],'\n',L[-2],'\n',L[-3]

4、list 添加元素:
append(element)方法和insert(index,element)方法。
append(element)是将元素追加到list集合的末尾;
insert(index,element)方法是将元素插入到之罪指定的位置。其中index表示 元素在集合中的索引位置,element表示要插入的元素。
例子:假设新来一名学生Paul,Paul 同学的成绩比Bart好,但是比Lisa差,他应该排到第三名的位置,请用代码实现。
l=['Adam', 'Lisa', 'Bart']
l.insert(2,'Paul')

5、list 删除元素:
list.pop()方法和list.pop(index)方法删除元素。
前者删除的总是最后一个元素;
后者删除的是索引相对应的元素。
两者返回的都是删除的元素
例子:现有四个学生L = ['Adam', 'Lisa', 'Paul', 'Bart'] 请删除Paul和Bart

6、list 替换元素
对list中的某个索引赋值,可以使用新的元素替换掉原有的元素,list包含的元素个数保持不变。
例子:班里的同学按照分数排名是这样的:
L = ['Adam', 'Lisa', 'Bart']
但是,在一次考试后,Bart同学意外取得第一,而Adam同学考了倒数第一。
请通过对list的索引赋值,生成新的排名。
L = ['Adam', 'Lisa', 'Bart']
L[-1]='Adam'
L[0]='Bart'
print L

1、tuple是另一种有序的列表,中文翻译为“ 元组”。tuple 和 list 非常类似,但是,tuple一旦创建完毕,就不能修改了。
表示方法:t=(1,2,3)
tuple 是不可变的。
例子,请 将t=(1,2,3)集合中的元素1 修改为4

1、键值对的集合。使用{} 然后按照key:value的形式书写,每一个key:value之间使用,隔开。
形式:
d={
'Adam': 95,
'Lisa': 85,
'Bart': 59
}
访问dict:使用key来获取相应的value。d[key]、d.get(key).
使用d[key ]的时候需要判断key 是否存在,否则就会报错;
而d.get(key) 方法在key不存在的时候返回null 但不会报错。
例子:
d = {
'Adam': 95,
'Lisa': 85,
'Bart': 59
} 打印出
Adam: 95
Lisa: 85
Bart: 59
for name in d:
print name,':',d.get(name)

2、更新dict:直接给建赋予相应的值 ,如 d[key]=value
例子:请根据Paul的成绩 72 更新下面的dict:
d = {
95: 'Adam',
85: 'Lisa',
59: 'Bart'
}

3、dict删除:dict.pop(key)

1、查找速度:dict查找速度快,10个元素的查找速度和10万个元素的查找速度一样,list的查找速度随着元素的增多而逐渐下降
占用内存:dict 占用内存大,浪费很多内容;list占用内存小;
是否有序:dict存储的key-value 是没有顺序的;list是有序列表。所以遍历打印dict时,打印的顺序和我们创建的顺序可能不一样,而list是一样的
是否可变:dict作为key的元素必须不可变,list是可变的,所以list不能作为key
1、定义:set存储的是无序集合,但是没有重复元素,并且是无序的。
形式:s=set(['A','B','C'])
因为set不能包含重复的元素,所以,当我们传入包含重复元素的 list 会怎么样呢?

2、遍历set:和遍历list一样,可以使用for循环遍历。
例子:请用 for 循环遍历如下的set,打印出 name: score 来。
s = set([('Adam', 95), ('Lisa', 85), ('Bart', 59)])

3、set更新:
使用add(element)添加元素,
使用remove(element)删除元素
例子:
针对下面的set,给定一个list,对list中的每一个元素,如果在set中,就将其删除,如果不在set中,就添加进去。
s = set(['Adam', 'Lisa', 'Paul'])
L = ['Adam', 'Lisa', 'Bart', 'Paul']
