Python-day2

Python数据类型及操作

一、字符串str

1.替换
  • replace(old,new,count)
    用new替换old,次数为count,可用于删除(new空)
2.分割、合并
  • split(self,sep,maxsplit)
    以sep为分隔符,分隔数量<=maxsplit的列表
  • partition(sep)
    以sep将字符串分成三部分,返回一个3元的元组
  • splitlines(keepends)
    按行分隔,一行一列表
    keepends -- 输出结果里是否保留换行符('\r', '\r\n', \n'),默认为 False,不包含换行符,如果为 True,则保留换行符。
  • str.join(sequence)
    用字符串拼接可迭代对象sequence,拼接符即为原字符串内容
str2=" "
list1=["my","name","is","asf"]
my_name=str2.join(list1)
print(my_name)
#输出:my name is asf
my_name="_".join(list1)
print(my_name)
#输出:my_name_is_asf
3.大小写转换
  • capitalize()
    把字符串第一个字符大写
  • title()
    每个单词第一个字母大写
  • upper()
    字符串大写转换
  • lower()
    字符串小写转换
4.查询、判断
  • find(self, sub, start=None, end=None)
    从左找sub,返回第一个该元素位置的索引值,范围为start到end(可省略)
  • rfind(self, sub, start=None, end=None)
    从右找sub,返回第一个该元素位置的索引值
  • startswith(self, prefix, start=None, end=None)
    检测字符串是否以prefix开头
  • endswith(self, suffix, start=None, end=None)
    检测字符串是否以suffix结尾
  • isalpha()
    判断字符串是否均为字母
  • isdigit()
    判断字符串是否均为数字
  • isalnum()
    判断是否只有字母和数字
  • isspace()
    判断字符串是否只有空格
5. 填充、清除

下列函数返回新字符串,均不修改源字符串

  • rjust(self,width,fillchar)
    右侧width长度对齐,从左侧填充fillchar

  • ljust(self,width,fillchar)
    左侧width长度对齐,从右侧填充fillchar

  • center(self,width,fillchar)
    居中对齐,两侧填充fillchar

  • lstrip(self,char)
    清除左侧char,默认为空格

  • rstrip(self,char)
    清除右侧char,默认为空格

  • strip(self,charself,char)
    清除两侧char,默认为空格

二、列表list

1.添加
  • append(object)
    在列表末尾整体添加object,只占一个引索位
a=[1,2]
b=[3,4]
a.append(b)
print(a)
#结果:[1, 2, [3, 4]]
  • extend(seq)
    在列表末尾逐一插入另一序列seq中的各个元素
a=[1,2]
b=[3,4]
a.extend(b)
print(a)
#结果:[1, 2, 3, 4]
  • insert(index,object)
    在引索index位置整体插入object
a=[1,2]
b=[3,4]
print(a)
a.insert(1,b)
#结果:[1, [3, 4], 2]
2.修改

通过引索赋值即可修改元素

# name_list[1]='小明'
3.查找
  • in,notin
    返回布尔值
find_name='小明'
if find_name in name_list:
    print("yes")
  • index(object,start,stop)
    在范围内查找元素object,返回引索值,无则报异常
4.删除
  • del
    通用函数,通过下标直接删除
del name_list[0]
  • pop(index)
    移除列表中的一个元素(默认最后一个元素,index=-1),并且返回该元素的值。
  • remove(object)
    移除列表中object的第一个匹配项,无返回值
5.排序
  • sort(cmp=None, key=None, reverse=False)
    对原列表进行排序,所有参数均可省略
    cmp -- 可选参数, 如果指定了该参数会使用该参数的方法进行排序
    key -- 为一个函数,只有一个参数,取自可迭代对象,指定可迭代对象中的一个元素来进行排序,一般用于复杂对象或多维中
    reverse -- 排序规则,reverse=True 降序,reverse=False 升序(默认)
student=[
         ('john', 'A', 15),
         ('jane', 'B', 12),
         ('dave', 'B', 10),
 ]
student.sort(key=lambda student: student[2]) #lamdba可简便定义函数
print(student)
#结果:[('dave', 'B', 10), ('jane', 'B', 12), ('john', 'A', 15)]
  • sorted(iterable[, cmp[, key[, reverse]]])
    Python内置函数,可对所有可迭代的对象进行排序
    iterable -- 可迭代对象。
6.列表推导式

[表达式 for 变量 in 列表] 或者 [表达式 for 变量 in 列表 if 条件]

三、元组tuple

  元组与列表相似,不同之处在于元组的元素不能修改;且元组使用小括号,列表使用方括号。在括号中添加元素,并使用逗号隔开即可创建元组。
  元组中只包含一个元素时,需要在元素后面添加逗号。

四、字典dict

  字典是另一种可变容器模型,且可存储任意类型对象。
  字典的每个键值 key->value 对用冒号 : 分割,每个键值对之间用逗号 , 分割,整个字典包括在花括号 {} 中。

1.查询
  • 可根据键直接访问,例:info['name']
    返回对应的值,键不存在则会报错
  • get(key,default=None)
    存在则返回对应键的值,否则会返回default(默认为空,可省略)
  • keys()
    用列表返回字典的所有键
  • values()
    用列表返回字典的所有值
  • items()
    用列表返回字典的所有k-y元组
  • len(dict)
    Python内置函数,返回该dict字典的键值对数
2.更新
  • 可通过访问键直接修改或添加值
  • update(dict2)
    将dict2 的 key/value(键/值) 对更新到原字典里。
3.删除
  • del
    del可根据key单个删除,也可全删除整个字典(此时不保留变量)
  • clear()
    删除字典内所有元素,保留空字典
  • pop(key[,default])
    删除给定键 key 及对应的值,返回值为被删除的值。key 必须给出,若key不存在则返回 default 值。

五、集合set

无序,唯一
可以使用大括号 { } 或者 set() 函数创建集合,set()可创建空集合

1.添加
  • add(element)
    将元素element添加到集合中,如果元素已存在,则不进行任何操作。
  • update(set)
    可添加元素或集合

2.删除

  • remove(element)
    将元素element从集合中移除,如果元素不存在,则会报错。
  • pop()
    随机移除一个元素,并返回该元素的值
  • discard(element)
    删除element,不存在不操作

一些别的操作

  • dir(object)
    带参数时,返回该数据类型的内置函数;不带参数时,返回当前范围内的变量、方法和定义的类型列表
  • zip()
    用于将可迭代对象作为参数,将其中对应元素打包成一个元组,返回这些元组的对象
a=[1,2,3]
b=[4,5,6]
c=[4,5,6,7,8]
zipped=zip(a,b)
print(zipped)
print(list(zipped))
print(list(zip(a,c))) #长度不一致,与最短的对象相同
  • lambda x,y………,z:<expression>
    匿名函数,主体是一个表达式,可起到函数速写的作用。允许在代码内嵌入一个函数的定义。
    x,y,z等等为参数,expression是表达式,结果为函数的返回值
  • filter(function, iterable...)
    过滤器,需要两个参数,function过滤函数,和一个序列(字符串、列表、元组都是序列),依次将序列的值传入function中,如果返回True的话,将其重新生成一个列表返回。
list(filter(lambda x:True if x % 3 == 0 else False, range(100)))
#筛选100以内的3的倍数,并生成一个列表。
  • map(function, iterable...)
    映射,用法和filter()类似,也是将序列放入函数进行运算,但是,不论运算结果为什么,map()都将忠实反馈,返回包含每次 function 函数返回值的新列表。
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 217,509评论 6 504
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,806评论 3 394
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 163,875评论 0 354
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,441评论 1 293
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,488评论 6 392
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,365评论 1 302
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,190评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,062评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,500评论 1 314
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,706评论 3 335
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,834评论 1 347
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,559评论 5 345
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,167评论 3 328
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,779评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,912评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,958评论 2 370
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,779评论 2 354

推荐阅读更多精彩内容