python-字符串 字典

本文详细介绍了Python中的字符串和字典操作,包括字符串的转义符、去除空格、分隔、大小写转换、格式化、连接、替换、数字判断等;以及字典的添加、修改、删除、查询、遍历等常见方法,帮助读者深入理解Python数据结构的使用。
摘要由CSDN通过智能技术生成

python-字符串 字典

1.字符串

  • 概念:
    将字符串 当作 由多个 字母/数字/特殊符号 组成的 不可变 的 容器
  • 特点:
    有序,每个字符有相应索引,从0开始
    不能修改
name="貂蝉","张飞","关羽","刘备"
print(name)
print(name[1])
print(name[:2])#切片
#专业遍历
for i in name:
    print(i)

1.1转义符 \

  • 概念:
    \ (反斜杠)就是转义符,作用:
    • 将有意义的转换成无意义的
    • 将无意义的转换成有意义的
      列如:
      无意义:n t r ,如果\n (换行) \t(横向制表符) \r(回车)
      有意义:双引号,单引号,\
#将无意义的转换成有意义
print("我有\n一个\t梦想")
#将有意义的转换成无意义的
print("我有一个梦想,我喜欢\"")

1.2去除空格

  • 语法:
    string.strip() 去除两边的空格
    string.lstrip() 去除左边的空格 l==>left(左)
    string.rstrip() 去除右边的空格 r==>right(右)
    默认的情况下strip去除空格, 但是也可以指定去除两个的字符
    语法:
    string.rstrip(“要去除的字符”)
name="  貂蝉  "
print("=="+name+"==")
print("=="+name.strip()+"==")
print("=="+name.lstrip()+"==")
print("=="+name.rstrip()+"==")
name1="== 貂蝉  ==--"
print(name1.strip("-"))

1.3字符串分隔

  • 语法:
    string.split() 按照空格字符串分割,返回一个列表 用逗号分隔
    string.split(“分隔符”) 按照指定分隔符分割,返回一个列表
    string.split(“分隔符”,分割次数) 按照指定分隔符分割,分割指定的次数,返回一个列表
    string.rsplit(“分隔符”,分割次数) 从后面开始按照指定分隔符分割,分割指定的次数,返回一个列表
name="床前 明 月 光"
print(name.split())#按照空格字符分隔
name2="貂蝉-西施-小乔"
print(name2.split("-"))#指定- 字符分隔
print(name2.split("-",1))#指定 - 字符分隔,并只分隔一次
print(name2.rsplit("-",1))#指定 - 字符分隔,从后面只分隔一次

1.3大小写转化

  • 语法:
    string.lower() 转换为小写
    string.upper() 转换为大写
s="hello world"
print(s.upper())#转化为大写
s1="HELLO WORLD"
print(s.lower())#hello world

1.4判断字符开头结尾字母

  • 语法:
    string.startswith(“开头字符”)
    string.endswith(“结尾字符”)
s="hello world"
print(s.startswith("h"))#True
print(s.startswith("wo"))#False
print(s.endswith("ld"))#True
s1="-hello world"
print(s1.startswith("h"))#False

1.5字符串格式化

  • 语法:
    “需要格式化的字符”%(数据1,数据2)
    string.format(“数据1”,“数据2”,“数据3”)
    f"字符{变量}串"
print("我的名字是{},我的年龄是{}".format("小强",29))
print("我的名字是{0},我的年龄是{1},我的性别是{0}".format("小强",29))
#f"字符{变量}串"
print("我的名字是{name},我的年龄是{age},我的性别是{sex}".format(name="小强",age=29,sex="男"))
name="小强"
age=18
print(f"我的名字是{name},我今年{age}")

1.6字符串连接

  • 语法:
    string.join(列表)
    列表中的元素使用string连接起来
names=["张飞","关羽","貂蝉"]
print("-".join(names))#使用 - 符号将元素连接

1.7字符串替换

  • 语法:
    string.replace(“原文”,“替换文”)
    将字符串中的原文替换成 替换的文字
s="你好世界"
print(s.replace("你好","拜拜"))
print(s)
print(s.replace("你好世界","hello world"))#将中文替换为英文
print(s)#并不会修改原字符串内容

1.8判断字符串由数字组成

  • 语法:
    string.isdigit()
s="123456789"
print(s.isdigit())#True
s1="123adf456789"
print(s1.isdigit())#False

2.字典

  • 每个元素都由键和值组成
  • 根据键获取对应的值
  • 使用{} 定义,key-avlue 组成
  • 使用{“key”:“值”,"“key2”:“值2”}
  • 什么情况下使用:
    存储的每次元素 具有不同的含义 这个时候使用字典
a={"name":"张飞",
   "age":18,
   "tel":18725961,
   "email":"zhangfei@163.com"
   }
print(a)

2.1添加或修改

  1. 添加或修改值
    如果key不存在,添加键值对,如果key存在,修改value。
    语法:
    字典[key] = value
a={"name":"张飞",
   "age":18,
   "tel":18725961
   }
a["email"]="zhangfei@163.com"#添加不存在的值
print(a)
a["email"]="zhang@163.com"#修改email的值
print(a)
  1. 添加或者返回原值
    如果key不存在,添加键值对。如果key存在,不修改value,但返回原来value
    语法:
    value = 字典.setdefault(key,value)
a={"name":"张飞",
   "age":18,
   "tel":18725961
   }
a.setdefault("sex","女")#添加不存在的值
print(a)
value=a.setdefault("sex","男")#添加存在的值
print("1",value)#返回 女
print(a)#原来字典sex未被修改
  1. 合并
    将字典2的数据合并到字典,字典2会覆盖字典中已存在的内容
    语法:
    字典.update(字典2)
a={"name":"张飞",
   "age":18,
   "tel":18725961
   }
b={
   "height":1.85,
   "sex":"男"#重复数据
}
print(b)
a.update(b)#b覆盖a
print(a)#b数据在a中,重复数据被b覆盖

2.2删除

  1. 删除指定键值对
    删除指定键值对,如果key不存在就会报错
    del 字典[key]
    字典.pop(key)
a={"name":"张飞",
   "age":18,
   "tel":18725961
   }
del a["age"]#删除age键值
print(a)
a.pop("tel")#删除tel键值
print(a)
  1. 清空键值
    语法:
    字典.clear()
a={"name":"张飞",
   "age":18,
   "tel":18725961
   }
a.clear()#清空
print(a)#{}

2.3查询

  1. *根据key查询value
    语法:
    字典[key] 根据key查询值,如果key不存在就会报错
    字典.get(key) 根据key查询值,如果key不存在返回None
a={"name":"张飞",
   "age":18,
   "tel":18725961
   }
print(a["name"])#获取name的值
#print(a["ll"])#如果没有会报错KeyError: 'll'
print(a.get("age"))#获取age的值
print(a.get("ll"))#None
  1. 获取字典的键值对数量
    语法:
    len(字典)
#在1的代码基础上
print(len(a))#执行结果 3
  1. 获取字典中所有值
    语法:
    字典.values()
#接上代码
print(a.values())#所有的值:dict_values(['张飞', 18, 18725961])
values=a.values()#将所有值赋值给变量
values=list(values)#转化为列表
print(type(values))
print(values)
#转化成列表后可单独查看值
print(values[0])#查看索引为0的元素
print("*",type(a))#查看原字典的类型 <class 'dict'>
  1. 获取字典中所有键
    语法:
    字典.keys()
#接上代码
print(a.keys())#dict_keys(['name', 'age', 'tel'])
#转化成列表后可单独查看键
values1=a.keys()
values1=list(values1)#转化为列表
print(type(values1))#查看类型
print(values1)
print(values1[0])#查看指定键
  1. 判断键是否在字典中存在
    语法:
    value = key in 字典
#接上代码
print("name" in a)#判断name键是否在字典中  True
print("张飞" in a)#判断"张飞"键是否在字典中 False

3.遍历

  1. 遍历key
    语法:
    for key in 字典:
    value = 字典[key]
a={"name":"张飞",
   "age":18,
   "tel":18725961
   }
for key in a:
    print(a[key])#输出所有的key的值
#使key和值一起输出
for key in a:
    print(key+":"+str(a[key]))#字符串用+为拼接
  1. 遍历value
    语法:
    for value in 字典.values:
    value
for value in a.values():
    print(value)
  1. 遍历键值对
    语法:
    for item in 字典.items():
    item
for item in a.items():
    print(item)
"""输出结果
('name', '张飞')
 ('age', 18)
 ('tel', 18725961)"""
  1. 遍历键和值
    语法:
    for key,value in 字典.items():
    key,value
for key,value in a.items():
    print(key,":",value)
"""输出结果
name : 张飞
age : 18
tel : 18725961"""

4.公共语法

  1. 内置函数
    len(item)计算容器中元素个数
    del(item)删除变量
    max(item)返回容器中元素最大值
    min(item)返回容器中元素最小值
    支持:字符串 列表 元组 字典 集合
#作用于字符串
s="vdxhn"
print(len(s))
print(max(s))
print(min(s))
# del (s)
print(s)
#用于列表
name=["张飞","李白","王五"]
print(len(name))
del name[0]
print(name)
print(max(name))
print(min(name))
#作用于元组
t=("张飞","李白","王五","貂蝉")
print(len(t))
#del t[0]不能够被删除删除
print(max(t))#按字母
print(min(t))
#用于字典
b={"name":"张飞",
   "age":18,
   "tel":18725961
   }
print(len(b))
del b["name"]
print(b)#删除键
print(max(b))#按照按键的字符比较
print(min(b))
  1. 切片
    语法:
    [开始:结束:步长]
    支持类型: 字符串,列表,元组。不支持字典
#字符串
s="vdxhn"
print(s[0:2])#vd
print(s[-3:-1])#xh
print(s[:])#vdxhn
print(s[1:])#dxhn
print(s[: :-1])#nhxdv
print(s[-1:-3])#空
print(s[-1:-3:-1])#nh
  1. +为合并运算符
    语法:
    合并后数据 = 数据1+数据2
    支持类型: 字符串,列表,元组
    字典的合并函数为:upda

大家一起冲冲冲

在这里插入图片描述

评论 10
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值