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:
    匿名函数,主体是一个表达式,可起到函数速写的作用。允许在代码内嵌入一个函数的定义。
    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 函数返回值的新列表。

你可能感兴趣的:(Python-day2)