python基础学习笔记第四天 list 元祖 字典

时间:2023-03-08 15:05:31
python基础学习笔记第四天 list 元祖 字典

一 LIST方法

列表操作包含以下函数:
1、cmp(list1, list2):比较两个列表的元素 
2、len(list):列表元素个数 
3、max(list):返回列表元素最大值 
4、min(list):返回列表元素最小值 
5、list(seq):将元组转换为列表 
列表操作包含以下方法:
1、list.append(obj):在列表末尾添加新的对象
2、list.count(obj):统计某个元素在列表中出现的次数
3、list.extend(seq):在列表末尾一次性追加另一个序列中的多个值(用新列表扩展原来的列表)
4、list.index(obj):从列表中找出某个值第一个匹配项的索引位置
5、list.insert(index, obj):将对象插入列表
6、list.pop(obj=list[-1]):移除列表中的一个元素(默认最后一个元素),并且返回该元素的值
7、list.remove(obj):移除列表中某个值的第一个匹配项
8、list.reverse():反向列表中元素
9、list.sort([func]):对原列表进行排序   list.sort(reverse=True)对原列表进行反向排序

1.2    dict 字典方法

字典内置函数

cmp(dict1, dict2) 比较两个字典元素。

len(dict)     计算字典元素个数,即键的总数。

str(dict)     输出字典可打印的字符串表示。

type(variable)  返回输入的变量类型,如果变量是字典就返回字典类型。

字典方法

dic.clear()删除字典内所有元素,返回none

dic.copy()拷贝整个dict字典,(返回一个字典的浅复制)

dic.fromkeys() 创建一个新字典,以字典key中元素做字典的键,值为字典所有键对应的初始值

dic.get 根据Key获取值,key不存在时,可以指定默认值(None)例:v = dic['k11111'] ,v = dic.get('k1',111111),print(v)

dic.items与copy相似,复制字典并 得到一个键,值的list

dic.keys()得到一个字典中的key值

dic.pop()删除首个key()并返回值

dic.popitems()删除字典中首个key与值并且返回

dic.setdefault()如果字典中不存在key与值,就讲其加入到字典中并设置为默认值

dic1.update(dic2)将字典表2中的key与值更新到字典表1中,是无序的

dic.values()取回字典表中的所有值

二、元祖

python中的tuple:

<1>tuple用()表示,中文名为元组
<2>tuple一旦创建完毕,就不能改变

python中的dict:

<1>dict建立一组key和value的映射关系,中文名字为字典,key值不能重复,dict为{}。
       举个例子:
       d = {'liu':100, 'zhou':90}
       print(d['liu'])
<2>dict内部是无序的,不能用dict存储有序的集合,不同的机器打印的顺序都可能不同
<3>len()方法:计算dict的大小,len(d)等于2
<4>key可以为list或tuple类型
<4>通过 key 访问 dict 的value,只要 key 存在,dict就返回对应的value。 如果key不存在,会直接报错:KeyError
<5>要避免 KeyError 发生,有两个办法:
     一是先判断一下 key 是否存在,用 in 操作符:
     if 'Paul' in d:
         print d['liu']
     二是使用dict本身提供的一个 get() 方法,在Key不存在的时候,返回None:
     例如d.get('test')为None
<6>不同key但是相同value的字典:
d = {}.fromkeys(('lrh', 'zjg', 'kch', 'gyg'),2333)
<7>使用zip():
keys = ['name', 'age']
values = ['Bill', 60]
d = dict(zip(keys, values))
print(d)
zip([seql, ...])接受一系列可迭代对象作为参数,将对象中对应的元素打包成一个个tuple(元组),然后返回由这些tuples组成的list(列表)。若传入参数的长度不等,则返回list的长度和参数中长度最短的对象相同。
大家可以help()一下
<8>字典的格式化字符串:
d = {'Wangdachui':3000, 'Niuyun':2000}
template = '''
welcome to the pay wall.
Niuyin's salary is %(Niuyun)s.
Wangdachui's salary is %(Wangdachui)s.
'''
print(template%d)
<9>字典的一些内建函数:
定义d为一个非空字典
那么:
d.keys()    返回一个key的列表
d.value()    返回一个value的列表
d.get(key)    如果存在key这个名字的键值对,则返回,否则返回空
定义d1为另一个非空字典,那么:
d.update(d1)    如果d中含有与d1中相同键名的键值对,则将它更新成与d1的值一样,此外d1中一些d中所没有的键值对也将补充到d中

python中的set

<1>set中文名字为集合,set存储的是无序集合,集合即每个相同的元素只有一个. 可变集合(set),不可变集合(frozenset)
<2>s = set([xx, xx, xx, xx, xxx]) 给set传入一个list,会去重
<3>可以用in操作符来判断元素时候在set里
<4>add()方法增加新元素, remove()方法删除元素,若没有这个元素则会报错
<5>集合运算关系:
交:&
并:|
差:-
异或:^
<6>discard()方法,传入一个key,若存在这个键值对,则删除这个键值对,否则什么都不做,而pop()方法,如果删除一个不存在的键值对,将会抛出一个KeyError