python 第二周

九、字典

1.基础介绍

①Python将单词称为键(key),将单词对应的含义称为值(value)

②字典是python唯一的映射类型,字符串、元组和列表都是序列类型

列表中的索引值和对应元素的值没有关系,两个列表中唯一的关系是索引值相同的元素有对应关系

③用{}表示字典,由多个健和其对应的值组成,索引时用[ ];健和值的组合称为项

④也可用dict这个工厂函数(类型,不是一般的BIF)创建一个字典

2.基本用法

2.1空字典:dict={}

2.2键入方式:

2.2.1

 dict = (1:’one ‘,2:’two’,3:’three’)

             索引:dict[2]

                   ‘two’

2.2.2元组的方式

括号的个数,因为dict()只接受一个参数,所以用()把键值对包括起来成为元组

2.2.3关键字参数

dict4 =dict(小甲鱼=‘让编程改变世界’)           #小甲鱼不能加引号

索引:dict4

      小甲鱼=‘让编程改变世界’                 

2.2.4 直接改变字典的值

①若改变字典中原有健的值:

dict4[‘小甲鱼‘] = ‘让python改变世界’

索引:dict4

      {‘小甲鱼’: ‘让python改变世界’}

②字典中没有的健

dict4[‘爱迪生’]=’天才是…’

索引:ditc4

       {‘小甲鱼’: ‘让python改变世界’, ‘爱迪生’:’天才是…’}

3.内置方法

3.1 adict.keys() 返回一个包含字典所有KEY的列表;

3.2 adict.values() 返回一个包含字典所有value的列表;

3.3 adict.items() 返回一个包含所有(键,值)元祖的列表;

3.4 adict.clear() 删除字典中的所有项或元素;

3.5 adict.copy() 返回一个字典浅拷贝的副本;

直接赋值并没有创建新的内存空间

3.6 adict.fromkeys(seq, val=None) 创建并返回一个新字典,以seq中的元素做该字典的键,val做该字典中所有键对应的初始值(默认为None);

fromkeys(…)  创建并返回一个新的字典

dict. fromkeys(s[,v]) -> New dict with keys from S and

values equal to v (v defaults to None)

 

初始化一个空字典:

注意,仅仅是返回一个新字典,并不能改变旧字典,要想改变必须用a = a.fromkeys

3.7 adict.get(key, default = None)

返回字典中key对应的值,若key不存在字典中,则返回default的值(default默认为None);

一般来说如果试图访问字典中不存在的项时会出错,而用get就不会

3.8 in 、 not in;

3.9 adict.iteritems()、adict.iterkeys()、adict.itervalues() 与它们对应的非迭代方法一样,不同的是它们返回一个迭代子,而不是一个列表;

3.10 adict.pop(key[,default]) 和get方法相似。如果字典中存在key,删除并返回key对应的vuale;如果key不存在,且没有给出default的值,则引发keyerror异常;

3.11 adict.setdefault(key, default=None) 和set()方法相似,但如果字典中不存在Key键,由 adict[key] = default 为它赋值;

3.12 adict.update(bdict) 将字典bdict的键值对添加到字典adict中。

字典中的键,值,键值对用  .keys()  .values()  .items()表示 

 

 

十、集合

无序 去重 不能索引

num = {}

type(num) –>’dict’

num2 ={1,2,3,4,5}

type(num2) –> ‘set’

num2 = {1,1,1,1,1,2,2,2,,2,,2}

–> {1,2}

1.创建的两种方法

用{} 把数字 括起来.

set() : set1 = set([1,1,1,1,2,2,2,2,2,2])

2.如何访问set中的值

for 打印

in 方法 1 in num1

3.num2.add(9) 添加

4.num2.remove(9) 删除

frozen 冻结的,设置一个不可变set

num3 = frozeset([1,2,3,666])

这种set不能添加

28-文件-想输出.

1.打开文件

使用 open 打开文件.

help()

十一、文件

1.用open打开文件:

打开的模式有:

‘r’-以只读方式打开文件(默认)

‘w’-以写入的方式打开 文件,会覆盖已存在的文件

‘x’-如果文件已经存在,使用此模式打开将引发异常

‘a’-0双写入模式撕开,如果文件存在,则在末尾追加写入

‘b’-以二进制模式打开文件

‘t’-以文本模式打开(默认)

‘+’-可读写模式(可添加到其他模式中使用)

‘U’-通用换行符支持.

例:

open(‘e:\test.txt’) # 两个\因为要转译(可以用u”),打开方式用了默认所以就不用写

f = open(‘e:\test.txt’) # 赋值给一个对象

2.文件对象的方法:

f.close() 关闭文件

f.read(size = -1) 从文件读取size个字符,当未给定size或给定负值的时候,

读取剩余的所有字符,然后作为字符串返回.指针移动到文件的不可末尾.

f.readline() 以写入模式打开,如果文件存在,则在末尾追加写入

f.write(str) 将字符串str写入文件

f.writelines(seq) 向文件写入字符串序列seq,seq应该是一个返回字符串的可迭代对象.

f.seek(offset,from) 在文件中移动文件指针,从from(0代表文件起始位置,1代表当前位置,2代表文件末尾)偏移offset个字节

f.tell() 返回当前在文件中的位置.

可以用list(f)把文件直接转换成为一个列表.

3.读取文件对象中的内容:

for i in f: (推荐这种方法)

print(i)

4.文件的写入:

打开方式一定要是 ‘a’或’w’

f = open(‘e:\test.txt’,’w’)

f.write(‘xxoo’)

f.close

5.

例1:

def save_file(goy, girl, count):

file_name_boy = ‘boy_’ + str(count) + ‘.txt’

filr_name_girl = ‘girl’ + str(count) + ‘.txt’

boy_file = open(file_na

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值