首页 > 编程语言 >Python的数据类型详解

Python的数据类型详解

时间:2022-10-24 18:37:02浏览次数:48  
标签:返回 set Python list 数据类型 列表 详解 字符串 字典

1. 字符串及其常用函数   1. 字符串中访问指定的值 

字符串中访问指定的值
  1.用[i]下标表示,从左到右顺序从0开始,从右到左顺序从-1开始
  2.变量[头下标:尾下标],截取字符串区间

 

  2. 字符串改变值

字符串改变值
  1.切片发:拼接 +,截取不需要改变的内容+需要改变的内容
  2.replace函数:newSstr=str.replace(oldstr,newstr)

 

  3. 转义字符

转义字符
  1.\(在行尾时) 表示续行,即可以从下一行继续编辑
  2.\\  反斜杠  即取消\的转义作用
  3.\'  单引号
  4.\"  双引号
  5.\000 空     即执行后显示空行
  6.\n  换行
  7.\r  回车    后面的内容移到字符串开头,并逐一替换开头部分的字符,直至将 \r 后面的内容完全替换完成。
  8.r'字符串'   原始字符串,即字符串按照原来的内容输出,没有转义作用

 

   4. 字符串格式化

字符串格式化(format % value)
  %s  格式化字符串
  %d  格式化整数
  %nd 设置输入数字长度,不够则在前面空格补齐,n为0时用0补齐
  %.nf n表示保留几位小数

  例:print("我是%s,今年0%d,我会%.2f!" % ('小明', 22, 22.22222))  # 我是小明,今年022,我会22.22!

  

  5. 字符串format函数

字符串format函数(字符串.format(value))
  1.如果{}中没有具体的下标,会依次进行替换value值
      例:print('我叫{},今年{}岁!'.format('小红', 23))  # 我叫小红,今年23岁!
  2.如果{}中设置了具体下标,则会按要求进行替换
      例:print('我叫{1},今年{0}岁!'.format(12, '小红', 23))  # 我叫小红,今年12岁!
  3.可以设置具体关键字进行替换value值
      例:print('我是{name},{sex},今年{age}岁!'.format(sex='男', name='强子', age=27))  # 我是强子,男,今年27岁!
  4.使用**传递字典作为关键字传递
      例:dict0 = {'name': '修勾', 'sex': '女', 'age': 24}
         print('我叫{name:s},{sex:s},今年{age:d}'.format(**dict0))  # 我叫修勾,女,今年24
  5.模板字符串 %
      例:print(Template('我叫$name,今年$age').substitute({'name':'python','age':22}))   # 我叫python,今年22
  6.f 万金油用法:f"{变量}",可以面向对象,字典等
      例:dict1 = {'name': '小脑斧', 'sex': '女', 'age': 21}
         print(f"我叫{dict1['name']},{dict1['sex']},今年{dict1['age']}")  # 我叫小脑斧,女,今年21

  

  6. 三引号

# 三引号,允许字符串跨行,包含特殊字符,单引号和双引号都可以
para_str = '''这是一个多行字符串的实例
            多行字符串可以使用制表符
            TAB ( \t )。
            也可以使用换行符 [ \n ]。
         '''

 

   7. 常用的字符串函数

字符串常用函数
  1.capitalize()               将字符串第一个字母换为大写
  2.center(width,fillchar)        返回一个指定的宽度 width 居中的字符串,fillchar 为填充的字符,默认为空格。
  3.count(str,初始范围值,结束范围值)    返回 str 在指定字符串里面出现的次数
  4.endswith(str,初始范围值,结束范围值)  检查字符串是否以 obj 结束,是返回true,否则false
  5.find(str,初始范围值,结束范围值)     检查str是否在指定的字符串范围内,如果包含返回开始的索引值,否则返回-1
  6.index(str,初始范围值,结束范围值)    语法跟find一样,但是它会在不匹配的时候返回一个错误信息
  7.isalnum()       用来筛选都是字母或者数字的字符串
  8.isalpha()       用来筛选都是字母或者中文的字符串
  9.isdigit()       用来筛选只包含数字的字符串
  10.islower()      用来筛选都是小写字母的字符串
  11.isupper()      用来筛选都是大写字母的字符串
  12.join(seq)      以指定字符串作为分隔符,将 seq 中所有的元素(的字符串表示)合并为一个新的字符串
  13.len(str)       返回字符串长度
  14.lower()        转换字符串中所有的大写字母为小写字母
  15.upper()        转换字符串中所有的小写字母为大写字母
  16.lstrip()       截掉字符串左边的空格或者指定字符串(有参数时)
  17.max(str)       返回字符串中最大的字符
  18.min(str)       返回字符串中最小的字符
  20.replace(old,new)       字符串替换
  21.rfind(str)          类似于find,但是是从右边开始查找
  22.rindex(str)         类似于index,但是是从右边开始查找
  23.ljust(width,fillchar)    左填充,没有指定参数用空格填充
  24.rjust(width,fillchar)    右填充,没有指定参数默认用空格填充
  25.rstrip(char)         删除字符串末尾的空格或指定字符
  26.split()             将字符串以参数为分隔符进行截取
  27.strip()             lstrip和rstrip的和写,移除字符串首尾的空格或指定字符串
  28.swapcase()          将字符串的大写转为小写,小写转为大写
  29.titl()              返回标题化字符串,即所有单词首字母为大写,其余为小写

 

2. 列表及其常用函数—列表是可以进行操作,即增、删、改,列表不需要具有相同的类型

  1. 列表索引    

1.从左往右查找,从0开始
2.从右往左查找,从-1开始
3.语法:list[i],[i:][:j][i:j]

 

  2. 列表的增删改

1.append()    增
2.del list[i] 删
3.list[i]=''  改
例:
    list = ['html','css','javascript']
    # 增
    list.append('python')   # ['html', 'css', 'javascript', 'python']
    # 删
    del list[1]             # ['html', 'javascript', 'python']
    # 改
    list[1] = 'vuejs'       # ['html', 'vuejs', 'python']

 

  3. 列表脚本操作符

列表脚本操作符
  1.+   列表拼接      newList = list1 + list2
  2.*   重复列表      list*3
  3.in  检查元素      str in [list] 存在返回true,否则false
  4.for in 遍历列表   for x in [list]

 

  4. 内置函数

内置函数
  1.len(list)   列表的个数
  2.max(list)   返回列表中的最大值
  3.min(list)   返回列表中的最小值
  4.list(seq)   将元组转换为列表

 

  5. 常用方法

常用方法
  1.list.append(obj)    在列表后添加新的对象
  2.list.count(obj)     统计某个元素在列表中出现的次数
  3.list.extend(seq)    在列表后面添加另一序列(元组,集合,字典等),得到新的列表
  4.list.index(obj)     从列表中找出某个值匹配的第一项的索引位置
  5.list.insert(index,obj)  将对象插入列表的指定位置
  6.list.pop()          移除列表的最后一个元素,并返回该值
  7.list.remove(obj)    移除列表中第一个匹配到的值
  8.list.reverse()      反向列表中的元素
  9.list.sort()         对列表进行排序
  10.list.clear()       清空列表
  11.list.copy()        复制列表

 

 3. 字典及其方法

  1. 字典的特点

字典用{key:value}表示,key值唯一性,出现相同的key,则后者覆盖前者,因为字典的键不
可变,他可以用字符串,数字,元组表示,但不能用列表,访问地址中的值用dict['key'],如
果没有相应的key,会报错

  

  2. 修改字典的值

修改字典的值
  1.对已有的键进行修改:dict['key']=obj
  2.若字典中不存在key,则在末尾插入

  

  3. 删除字典

删除
  1.删除指定的元素:del dict['key']
  2.删除整个字典:del dict
  3.清空字典不删除:dict.clear()

 

  4. 字典的内置方法

字典的内置方法
  1.dict.clear()      清空字典元素
  2.dict.copy()       返回一个字典的浅拷贝
  3.dict.fromkeys()   创建一个新字典,以序列seq中元素做字典的键,val为字典所有键对应的初始值
  4.dict.get(key)     返回指点键的值
  5.key in dict       键存在字典中返回true,否则false
  6.dict.items()      以列表形式返回一个视图对象
      dict1.items())  # dict_items([('name', 'java'), ('unm', )])
  7.dict.key()        将所有键以视图对象返回
     dict1.keys()    # dict_keys(['name', 'unm'])  
 8.dict.values()       将所有值以视图对象返回
     dict1.keys()    # dict_keys(['java', '[1, 0, 3]'])
 9.dict.update(dict1)将dict1的元素更新到dict中去
 10.pop(key)         删除字典 key(键)所对应的值,返回被删除的值
     dic2.pop('we'))  # 29
 11.popitem()        删除并返回字典的最后一对键和值
     print(dic2.popitem())  # ('o', 29)

 

  5. 字典的复制和深浅拷贝   

# 字典的直接赋值和深浅拷贝的区别
    dict1 = {'name': 'python', 'unm': [1, 2, 3]}
# 直接赋值,引用对象的内存地址,原对象改变,被赋值的对象跟着改变
    dict2 = dict1  # {'name': 'java', 'unm': [1, 0, 3]}
# 浅拷贝,拷贝对象的一级目录,二级目录以后不会改变 
    dict3 = dict1.copy()  # {'name': 'python', 'unm': [1, 0, 3]}
# 深拷贝,deepcopy(),直接将原字典的所有元素拷贝下来,生成一个新的字典
    dict4 = copy.deepcopy(dict1)  # {'name': 'python', 'unm': [1, 2, 3]}
# 修改字典的值,直接赋值的字典值发生改变,浅拷贝的字典一级目录发生改变,深拷贝的值不发生改变
    dict1['name'] = 'java'
    dict1['unm'][1] = 0
    print(dict1, dict2, dict3, dict4)

    

  6. fromkeys统一赋值函数

fromkeys 第二个参数为空是,则新字典的值为None,否则为第二个参数
    value = {'css', 'o', 'we'}
    dic1 = dict.fromkeys(value)  # {'css': None, 'o': None, 'we': None}
    dic2 = dict.fromkeys(value, 29)  # {'css': 29, 'o': 29, 'we': 29}

 

 4. 集合及其方法—集合是一个无序不重复的元素序列,用{ }或者set( )创建,空集合必须用set

  1. 添加元素 

1.set.add(x)    将x元素随机插入到集合中,注. 他不可以将添加后的赋值给新的变量,否则返回值为空
      例:set_ = {2,3,4,'a','c',}   set_ = set_.add('b')    返回 None
      例:set_ = {2,3,4,'a','c',}   set_.add('b')       结果:{2,3,'b',4,'a','c',}
  2.set.update(x) 更新集合,x参数可以是列表,元组,字典等,他和add方法一样,返回的是None,所以不能进行赋值
      例:set_ = {2,3,4,'a','c',}   set_ = set_.update(1)    返回 None
      例:set_ = {2,3,4,'a','c',}   set_.update(1)       结果:{1,2,3,'b',4,'a','c',}

 

  2. 移除元素

1.set.remove(x) 将x从集合中移除,元素不存在,会报错,和add方法一样,返回的是一个None
      例:set_ = {2,3,4,'a','c',}   set_ = set_.remove('c')    返回 None
      例:set_ = {2,3,4,'a','c',}   set_.remove('c')       结果:{2,3,'b',4,'a'}
  2.set.discard(x)将x从集合中移除,元素不存在也不会报错
      例:set_ = {2,3,4,'a','c',}   set_ = set_.discard('c')    返回 None
      例:set_ = {2,3,4,'a','c',}   set_.discard('c')       结果:{2,3,'b',4,'a'}
  3.set.pop()     随机删除集合中的一个元素,返回的是被删除的值
      例:set_ = {2,3,4,'a','c',}   set_ = set_.pop()   返回 2
      例:set_ = {2,3,4,'a','c',}   set_.pop()       结果:{3,'b',4,'a'}

 

  3. 集合的其他内置方法

  1.clear()       移除集合中的所有元素
      例:nums.clear()
  2.copy()        拷贝一个集合
      例:nums_1 = nums.copy()      {'c', '4', 3, 'b'}
  3.difference()  返回多个集合差集
      例:set1 = {1,2,3,4} set2 = {2,3,'a','c'}  set2.difference(set1) = {'a','c'}
  4.intersection()返回集合交集
      例:set1 = {1,2,3,4} set2 = {2,3,'a','c'}  set2.intersection(set1) = {1,2,3}
  5.isdisjoint()  判断两个集合是否包含相同的元素,如果没有返回 True,有返回 False。
      例:set1 = {1,2,3,4} set2 = {2,3,'a','c'}  set2.isdisjoint(set1) = False
  6.symmetric_difference() 返回两个集合中不重复的元素集合
      例:set1 = {1,2,3,4} set2 = {2,3,'a','c'}  set2.symmetric_difference(set1) = {1,4,'a','c'}
  7.union()      返回两个集合的并集
      例:set1 = {1,2,3,4} set2 = {2,3,'a','c'}  set2.union(set1) = {1,2,3,4,'a','c'}添加元素

 

标签:返回,set,Python,list,数据类型,列表,详解,字符串,字典
From: https://www.cnblogs.com/chf333/p/16822206.html

相关文章