zoukankan      html  css  js  c++  java
  • PythonStudy——字符串、列表、元组、字典、集合 (str、list、tuple、dict、set)常用方法总结

    字符串:

    # 字符串类型的一些操作(str)
    st1='hello world '
    print(st1[0]) # 根据字符串索引来取字符h 找不到直接崩
    print(st1[-1]) # 根据索引倒取
    st2='123'
    print(st1+st2) # 字符串的拼接方法1
    print('%s%s%s' % (st2,st1,st1)) #方法2
    print(len(st1)) #取长度 字符串里面字符的个数也叫做字符串的长度
    print(st1[0:2:]) #切片 根据索引来进行字符串切片的操作 0代表启示索引
    # 2代表结束索引 取头不取尾 :代表步长默认为1
    print(st1[-1:-6:-1]) #方向步长为1的字符串拼接操作
    print('h' in st1) # 成员运算 判断是否'h'在字符串st1里面 是为 True
    print('h' not in st1) # 'h'在字符串st1里面 判断为 False
    for x in st1: #遍历 循环取值 把st1里面的字符循环取出赋值给X
    print(x)
    print(st1.index('o',6,10))# '0'取索引的对象 在索引 6,10 里面取 索引
    print(st1.strip()) #除去左右两边的空格留白 空格可以替换为各种符号,默认删除空白符(包括' ', ' ',  ' ',  ' ')
    print(st1.lstrip()) #除去左边留白
    print(st1.rstrip()) # 除去右边留白
    print(st1.count('0')) #计算出对象在字符串里面的个数
    print(st1.upper()) #把字符串转化成全大写
    print(st1.lower()) #把字符串转化成全小写
    print(st1.capitalize()) #字符串首字母大写
    print(st1.title()) #每个单词首字母大写
    print(st1.swapcase()) #大小写转换
    print(st1.startswith('H')) #是否以某字符开头 是打印为Ture 不是打印为 False
    print(st1.endswith('o')) # 是否以某字符结尾 是打印为Ture 不是打印为False
    print(st1.replace('h','H',)) #替换字符串里面的字符 'h'需要替换的字符串 'H'替换的字符串
    # ,后面count 需要替换的次数
    s8='name : {},age : {}'
    print(s8.format('owen',18)) # #格式化输出值
    print('name : {1},age : {1}'.format('owen',18)) #可以通过索引给{}内赋值
    print('name:{n},age:{a}'.format(n='kkk',a='18'))#可以通过指定赋值的方法给{}内赋值
    print(st1.find('k')) #查找字符串的索引 无返还结果为-1
    print(st1.center(20, )) #居中左右留白 总字符串的个数、
    print(st1.ljust(20, )) #左对齐 右留白
    print(st1.rjust(20, )) #右对齐 左留白
    print(st1.expandtabs( )) #= 规定所占空格数
    print(st1.isdigit()) # 判断字符串是否为数字 只能判断正整数 转化成布尔类型
    print(st1.isdecimal()) # 判断是否为数字
    print(st1.isnumeric()) # 判断是否为数字 可以判断繁体数字 罗马数字 转化成布尔类型
    print(st1.isalnum()) # 判断是否为字母数字组成 转化为布尔类型
    print(st1.isalpha()) #判断是否为字母组成
    print(st1.isidentifier()) # 是否为合法字符串 字符串只能右 字母 数字 下划线 不能数字开头 判断
    print(st1.isspace()) #是否空白字符
    print(st1.istitle()) #是否为单词首字母开头

     

    列表

    #列表类型数据操作(list)列表可以存放多个数据类型 可以重复存放多个数据 属于可变数据类型
    ls1=[1,3,2]
    print(ls1[0])
    print(ls1[-1]) #可以通过索引正取 反取
    ls2=['abc',[1,2,3],]
    print(ls1+ls2) # 列表可以相加,
    print(ls1*2) # 列表可以乘法
    print(len(ls1))
    print(len(ls2)) #列表的数据的长度
    ls3=[3,2,3,4,5,6]
    print(ls3[::]) #默认输出正切步长为1
    print(ls3[1:3:1]) #根据索引1到索引3 正向切 取头不取尾巴
    print(ls3[::-1])# 反向切
    print(3 in ls3) # 成员运算判断是否数据在列表里面 在判断为真 不在判断为假
    print( 3 not in ls3) #在判断为假 不在判断为真
    for x in ls3:
    print(x,type(x)) #遍历 ls3中的数据类型赋值给一一赋值给x 列表里面是什么类型 赋值为什么类型
    if isinstance(x,int): # 判断 对象x的数据类型 是什么类型
    print(x,end='') # x (int,str,list,dict,tuple,set)
    print(ls3[0]) #可以根据索引来取出里面的值
    ls3.append(0) #没有返回值 只能在原来的列表中 增加数据
    print(ls3) #打印原列表
    ls3.insert(0,666) #没有返回值 根据索引值来指定位置增加 新的数据类型
    print(ls3) #打印原列表
    ls3.insert(len(ls3),0)# 没有返回值 在列表的末尾增加 新的数据
    print(ls3) # 打印原列表
    ls3[0]='aaa' #根据索引指定更改列表里面的数据
    print(ls3)
    ls3.remove(3) #没有返回值 指定删除列表里面的数据
    print(ls3)
    ls3.pop() #默认删除列表中最后的数据
    ls3.pop(1) #根据索引来删除数据
    print(type(ls3.pop(1))) # 返还默认值 删除的是什么数据类型 返还的是什么类型
    ls3.clear() #对列表进行清空处理
    ls3.sort() #对列表进行默认正向排序 列表里面的数据类型必须为同以数据类型
    print(ls3) # 没有返回值
    ls3.sort(reverse=True) # 对列表进行反向排序
    print(ls3)
    ls3.reverse() # 按列表中的存储顺序 形成倒叙
    ls3.count(1) #列表中1存在的个数
    ls4='123' #整体添加 添加到末尾
    ls3.extend(ls4)
    print(ls3)

    元组

    # 元组类型的操作 可以理解为不可变的列表
    #值可以为任意类型的值
    #可以存放多个值
    #可以存放重复的值
    #有序存储 索引取值

    t1=(1,'adc',['a',1])
    t2=('a','c','b')
    print(t1[0]) #元组可以通过索引 取值 所以元组是有序排列的
    print(t1+t2) #元组之间可以相加
    print(len(t1)) #元组的长度
    print(t1[0:1:1]) #正向切
    print(t1[::-1]) #反向切
    print('a' in t1) #成员运算
    for x in t1: #遍历循环取值
    print(x)
    print(t1.count(1))# 1在元组中存在的个数
    print(t1.index(['a',1])) #对象的索引值

    字典
    # 字典类型的操
    # 定义为一个存放多个值的容器
    # 字典属于双列容器,以key:value 的形式存放 key为不可变类型的数据 value可以为任何的数据类型

    dic={}#定义空字典
    dic1=dict()# 定义空字典的另一种方式
    dic2=({'name':'egon','age':18}) #map映射创建
    dic3=dict(name='bob',age=18) # name=变量名 赋值的方式
    print(dic3)
    dic4={}.fromkeys(['name'],'boo') #对象只能是可迭代的 key只能指定一个
    print(dic4)
    dic5={'a':1,'b':2} #字典通过Key来取得value 如果key不在字典中 则新增key:value
    dic5['c']=123 # 如果key存在 则可以修改key对应的value
    print(dic5)
    print(dic5['c']) # 取字典中的key 如果没有则报错
    print(dic5['d']) #如果有可以取得key对应的
    print(dic5.get('c','返还'))# 取字典中的KEY 如果有返还KEY的value 如果没有返还自定义的值
    dic5.pop('a') #指定删除字典中KEY的VALUE 并能返还VALUE
    print(dic5)
    print(dic5.popitem())# 删除末尾的 并返还成(key,value)类型


    dic6={'a':1,'b':20,'c':1} #更新dic6 如果dic7里面的相同的K dic6k的value则替换为dic7 kd的value
    #如果dic7里面有新的K 则dic6里面加入新的k:value
    dic7={'a':10,'b':20}
    dic6.update(dic7)
    print(dic6)

    dic6.setdefault('a',100) #如果dic6有'a'存在啥事不干
    print(dic6)
    dic6.setdefault('d',100) #如果dic6没有'd'则添加 'd':100
    print(dic6)
    for x in dic6: #循环得到是dic6中key的值
    print(x)
    print(dic6.keys)
    for x in dic6.keys(): #循环k的值
    print(x)
    print(dic6.values())
    for x in dic6.values(): #循环k的value
    print(x)
    print(dic6.items()) #循环 k value 以元组的形式打印出来
    for x in dic6.items():
    print(x,type(x))
    for k ,v in dic6.items(): #把字典中Key 的值给 k 字典中Value的值给v 打印出来
    print(k,v,type(k),type(v))

    集合
    #集合的数据类型操作
    s=set() #定义为空集合
    print(s,type(s))

    #set为可变类型 set只能存不可变类型的数据 但是不能有重复的数据出现
    #set为随机存储 所以没有索引取值 也没有key取值 所以set不能取值 只能删值
    s.add(1)
    s.add('a')
    print(s)
    s1={'a',2}# 重复的剔除 新的新增
    s.update(s1)
    print(s)
    s.pop() #随机删除
    print(s)
    s.remove('a') #指定删除对象
    print(s)
    s.clear() #清空集合
    print(s)

    se1={'a','b','c','egon'}
    se2={'x','y','z','egon'}
    print(se1.intersection(se2)) #两个集合的交集
    print(se1.union(se2)) #两个集合的合集
    print(se1.symmetric_difference(se2)) #除去共有的
    print(se1.difference(se2)) # 独有的
    se11={'a','b','c','egon'} #一定要包含的关系才能比较
    se22={'egon'}
    print(se11>se22)

     

  • 相关阅读:
    dependencies 和 devDependencies 区别
    safari下地址跳转bug
    forEach,map和filter的区别
    设置video标签的默认样式
    还不懂移动端适配快看这篇文章
    使用微信帐号登录网站的实现
    基于阿里云市场API服务实现增值税发票识别【OCR】
    词云wordcloud的实现
    数据统计的简单实现思路
    京东联盟API简易PHP接口类
  • 原文地址:https://www.cnblogs.com/tingguoguoyo/p/10752892.html
Copyright © 2011-2022 走看看