Python学习随笔四:使用str,dic和set

来源:互联网 发布:文本相似度计算算法 编辑:程序博客网 时间:2024/05/21 14:02

写在前面

本博客是基于廖雪峰Python教程基础上的自我整理和消化,欢迎大家批评指正。第四节内容将介绍:

  • 不可变的字符串
  • Python里的’map’——dic
  • 有键无值的set

不可变的字符串

第一节介绍过,被单引号或双引号包裹起来的为字符串
在Python3.x中,从键盘的输入input类型也是默认的st类型

单引号与双引号

在表示数据类型是字符串上,二者没有区别。但是有些情况下,有的字符串包含了单引号(或者撇号)、双引号,就要考虑结合两者来正确表示字符串

>>> 'Let's go'SyntaxError: invalid syntax>>> "Let's go""Let's go"

字符串方法

1、find
find方法可以在一个较长的字符串中查找子串,返回子串所在位置的最左端索引,如果没有找到返回-1

>>> "Let's go".find("L")0

2、split
用来将字符串分隔成序列,给定的参数即为分隔的标准。
如果不提供任何分隔符,程序会把所有空格作为分隔符
3、join
split的逆方法
4、lower
返回字符串的小写字母版
5、replace
返回字符串中所有匹配项均被替换之后得到的字符串
6、strip
返回去除两侧(不包括内部空格的字符串)

p.s.所有对字符串的操作都不会使原字符串发生改变,只是生成了一个新的字符串对象

Python里的’map’——dic

Python内置的字典使用键-值对(key-value),每个键和它的值之间用冒号(:)隔开,项之间用逗号(,)隔开,而整个字典是由一对大括号括起来。
p.s.字典中的键是唯一的,而值并不唯一

phonebook = {'Alice':'2341''Beth':'9102''Cecil':'3258'}

创建字典

1、dict函数
形同于list()函数可以将字符串转化为list,dict函数可以将其他映射(比如其他字典)或者(键,值)对的序列建立字典。

>>> items = [('name','Gumby'),('age',42)]>>> d = dict(items)>>> d{'name': 'Gumby', 'age': 42}

dict函数也可以通过关键词参数来创建

>>> d = dict(name = 'Ada', age=24)>>> d{'name': 'Ada', 'age': 24}

2、直接赋值
形同于

>>> d = {'Michael': 95, 'Bob': 75, 'Tracy': 85}>>> d['Michael']95

当然,由于字典采用键值对存储方式,除了初始化时指定外,还可以通过key放入

>>> d['Adam'] = 67>>> d['Adam']67

基本字典操作

1、成员资格
k in d 检查d中是否存在含有键为k的值

>>> 'Thomas' in dFalse

p.s.Python2.x中还有has_key的方法等同上述,但在Python3.x中取消了。

2、访问字典
一般来说,如果试图访问字典中不存在的项时会出错。但是用get则不会

>>> print(d['name'])Traceback (most recent call last):  File "<pyshell#12>", line 1, in <module>    print(d['name'])KeyError: 'name'>>> print(d.get('name'))None

也可以自定义返回值:

>>> d.get('name','N/A')'N/A'

3、清空字典
clear方法清除字典中所有的项

>>> d{'Michael': 95, 'Bob': 75, 'Tracy': 85}>>> d.clear()>>> d{}

用于真的想清空原始字典及利用原始字典所赋值的全部字典中的所有元素

4、删除字典中的元素
pop方法用来获得对应给定键的值,然后将这个键值对移除

>>> d = {'Michael': 95, 'Bob': 75, 'Tracy': 85}>>> d.pop('Bob')75>>> d{'Michael': 95, 'Tracy': 85}

popitem方法类似于list.pop。但是由于字典是无序的,所以popitem弹出随机的项。这个方法适用于想一个接一个地移除并处理项(不用获取键)

5、字典的格式化

>>> phonebook = {'Alice':'2341','Beth':'9102','Cecil':'3258'}>>> "Ceil's phone number is %(Cecil)s."%phonebook"Ceil's phone number is 3258."

有键无值的set

set和dict类似,也是一组key的集合,但不存储value。即“有键无值”。同时由于key不能重复,所以,在set中,没有重复的key。以大括号包裹起来,以逗号分隔

1、set函数
要创建一个set,需要提供一个list作为输入集合,重复的元素不显示:

>>> s = set([1, 2, 3])>>> sset([1, 2, 3])

2、add函数
用于向set中添加数据

>>> s = {'qwe', 45, 'w'}>>> s.add(123)>>> s{'qwe', 123, 45, 'w'}

3、remove函数
用于删除set中的元素

>>> s.remove(45)>>> s{'qwe', 123, 'w'}
原创粉丝点击