查看原文
其他

Python基础(05)字典&字符串

Ahab Ahab杂货铺 2019-02-16

击上方“Ahab杂货铺”,选择“置顶公众号”

技术分享第一时间送达!


字典


字典是另一种可变容器模型,且可存储任意类型对象。

字典的每个键值(key=>value)对用冒号(:)分割,每个对之间用逗号(,)分割,整个字典包括在花括号({})

info={"name":"w",
     "age":18,
     "height":1.75}

注:

键必须是唯一的,但值则不必。

值可以取任何数据类型,但键必须是不可变的,如字符串,数字或元组。


◆◆
访问字典里的值
◆◆


把相应的键放入到方括号中

info={"name":"w",
     "age":18,
     "height":1.75}
#取值
print(info["name"])

◆◆
修改字典的值
◆◆


向字典添加新内容的方法是增加新的键/值对,修改或删除已有键/值对

info={"name":"w",
     "age":18,
     "height":1.75}

#增加/修改
info["sex"]="boy"  
info["name"]="www"
◆◆删除字典里的元素
◆◆


能删单一的元素也能清空字典,显示删除一个字典用pop命令,清空字典使用clear()。

info={"name":"w",
     "age":18,
     "height":1.75}
#删除
info.pop("name")
print(info)
#清空字典
info.clear()
print(info)

◆◆
字典内置函数&方法
◆◆


len(dict)
计算字典元素个数,即键的总数

str(dict)
输出字典,以可打印的字符串表示。

type(variable)
返回输入的变量类型,如果变量是字典就返回字典类型。


radiansdict.values()
返回一个迭代器,可以使用 list() 来转换为列表

radiansdict.keys()
返回一个迭代器,可以使用 list() 来转换为列表

radiansdict.items()
以列表返回可遍历的(键, 值) 元组数组


注:

不允许同一个键出现两次。创建时如果同一个键被赋值两次,后一个值会被记住。

键必须不可变,所以可以用数字,字符串或元组充当,而用列表就不行。



字符串


字符串是 Python 中最常用的数据类型。我们可以使用引号('或")来创建字符串。

str1="hello ahab"


◆◆
常用方法
◆◆
str="Ahab"
print(dir(str)),#输出所有方法
 #1.大小写转换
print(str.lower())
print(str.upper())
#2.判断空白字符
print(str.isspace())
#3.判断字符串中是否只包含数字
""" 三个方法都不能判断小数
isdecimal 只能判断单纯的数字
isdigit  可以判断特殊的数字(1)\u00b2  unicode 字符串
isnumeric 可以判断中文数字
"""

◆◆
查找和替换
◆◆
hello_str="hello world"
   #判断是否以指定字符串开始
print(hello_str.startswith("hell"))
#判断是否以指定字符串结束
print(hello_str.endswith("ld"))
#查找指定字符串
print(hello_str.find("wo"))
#输出索引位置 index
print(hello_str.find("abd"))
#print(hello_str.index("ab")) # 报错
   #替换字符串
print(hello_str.replace("world","Ahab"))
#执行完成以后 会返回新的字符串
不会修改原有的字符串
print(hello_str)



◆◆
字符串格式化
◆◆


Python 支持格式化字符串的输出。最基本的用法是将一个值插入到一个有字符串格式符 %s 的字符串中。

在 Python 中,字符串格式化使用与 C 中 sprintf 函数一样的语法。

print ("我叫 %s 今年 %d 岁!" % ('小明', 10))



◆◆
拆分和连接
◆◆


poem = "登鹳雀楼\n王之涣\n白日依山尽\t" \
"黄河入海流\n欲穷千里目\t更上一层楼"
print(poem)
#拆分字符串
poem_str=poem.split()
print(poem_str)
#合并字符串
result=" ".join(poem_str)
print(result)


  

字符串切片
◆◆


num="123456789"
num0=num[1:5]
#截取 2--5的 字符串 索引值从 1 到 5
print(num0)
num1=num[1:]
#截取 2--末尾的字符串  索引值 从1 到 空格
print(num1)
num3=num[:]
#截取从开始 到末尾 的字符串
print(num3)
num4=num[::2]
#从开始位置 每隔一个字符截取字符串 步长是2




公共方法


1.内置函数
    len() 计算容器中元素的个数 del() 删除变量  两种方法
    max()返回最大值   min() 返回最小值 注意在统计字典最大最小的时候针对key统计
    cmp() 比较两个值 py3.0取消了cmp   可以使用比较运算符  字典不能比较大小
2.切片
    切片使用索引值来限定范围 从一个大的字符串中 切出 小的 字符串
    列表和元组都是 有序 的集合   可以切片
    字典是 无序 的集合 使用键值对 保存数据
3.运算符

+       合并             字符串  元组  列表
*       重复              字符串  元组  列表
in     元素是否存在 字符串  元组  列表 字典  对字典的操作是针对 键
not in  元素是否不存在    字符串  元组  列表 字典







欢迎您的点赞和分享

▲长按关注此公众号



文章已于修改

    您可能也对以下帖子感兴趣

    文章有问题?点此查看未经处理的缓存