# 字符串 -- 用于存储数据的 -- 比较少
# python 中只要是用引号 引起来的就是字符串
# 支持索引(引取值的时候超出了索引的范围会报错),切片(切片如果终止位置超出了不报错),步长
注意事项
list('1234')#['1', '2', '3', '4']
字符串方法 其实就是调用类的方法 字符串是数字不会报错
b=' aBdsfdfhgjkc6'
# print(b.upper())# 全部大写
# print(b.lower())# 全部小写
# print(b.startswith('a')) # 以什么开头
# print(b.endswith("c"))# 以什么结尾
# print(b.count("zhu")) # 查询某个内容出现的次数
# b1 = b.replace('n','s',2) # 替换 2是替换的次数 第一个参数旧的 第2个新的
# b2 = b.strip('6') #返回移除字符串头尾指定的字符生成的新字符串 (只要头尾包含有指定字符序列中的字符就删除:) 默认去空格
# str.split(第1个参数,第2个参数) 返回列表
# 第1个参数 必需。字符串或正则表达式,从该参数指定的地方分割 stringObject。
# 第2个参数 可选。该参数可指定返回的数组的最大长度。如果设置了该参数,返回的子串不会多于这个参数指定的数组。如果没有设置该参数,整个字符串都会被分割,不考虑它的长度。
# is 系列 -- 判断
# print(name.isdecimal()) # 判断是不是十进制 -- 用它来判断是不是数字
# print(name.isalpha()) # 判断的是中文和字母
# print(name.isalnum()) # 判断的是不是字母,中文和阿拉伯数字
补充
str
首字母大写 capitalize()
s1 = object.capitalize()
每个单词首字母大写 title()
s = "alex wusir"
s1 = s.title()
统计出现的次数count()
print(s.count("a"))
大小写转换 swapcase()
print(s.swapcase())
利用元素找索引 find()
print(s.find("c")) # find 查找不到的时候返回 -1
print(s.index("C")) # index 查找不到就报错
切片小列题
# 从左向右数 0,1,2,3
# 从右向左数 -1,-2,-3,-4
# a='123456789'
# print(a[::3])
# print(a[1:5])
# print(a[0],a[-1])
# bool # 布尔值 -- 用于条件使用
# True 真
# False 假
# print(bool(0))
# True 转化成数字 1 False 转换成数字 0
# 非0 非空(空字符串,空列表,空元祖,空集合,空字典) 就是True
# print(type(str(True))) 布尔值可以转换成字符串
int可以运算
# print(num.bit_length()) # 求十进制数转换成二进制时所占用的位数
# 10进制转2进制 8421
# 什么是列表? 就是一个容器,任意类型都可以放到容器中
# list [] 多个元素 每个元素中间用,逗号隔开
# 有序的? 按照咱们写的顺序输出 支持切片,步长
# 可变的 -- 可以在本身上进行修改 可以增加 - 删除 - 修改
# 列表不能用insert
#效率低了一个变后面都会变 补位
# 列表不能用pop(n)
##效率低了一个变后面都会变 补位
# 创建列表3种方式 (列表推导式,自己创建)
# 第一种
# l1 = [1,2,3,'123',True,[1,2,5]]
# 第2种
# l1=[i for i in range(9)]
# 方法
l1 = [1,2,3,'alex',3,[1,2,3]]
l1.append('sq') #追加 添加在末尾 添加的操作
l1.insert(0,"mcsq") #插入 第一个参数(索引),第二参数要插入的内容
l1.extend("abc") # 扩展 -- 迭代添加 -- for
l2 = ["a","b","c"]+[1,2,3]# 列表合并["a","b","c",1,2,3]
l3=[[]]*3#[[], [], []]列表相乘
# 删
# l1.remove(1) # 删除 按照元素名进行删除
# print(li.pop(索引))
# 弹 pop有返回值 返回的是被删除的内容# 默认删除的是最后一个# 可以通过索引指定删除
del l2#将整个容器都删掉了
# del l2[2] #del 支持索引删除
# del l2[0:3] #del 支持切片删除
# del l2[::2] # del 支持步长删除
# 清空
# li.clear() # 清空里面元素 列表还在
# 索引改
# li = [0,1,2,3,4,5]
# # li[0:2] = [] # [2, 3, 4, 5] # 没有步长迭代进去的 可以多,可以少
# li[::2]=[1,2,3]#有步长,不可以多,不可以少 否则报错
# print(li)
# 抽丝剥茧
补充方法
list
l1=[1,2,3,4,5,6,6,5,4,3,2,1]
list:
计数count()
print(li.count("1"))
利用元素找索引 find()
print(li.index("C")) # index 查找不到就报错
反转 reverse()原列表反转
l1.reverse()
排序 原列表升序或降序
li.sort() # 升序
li.sort(reverse=True)
# 元组
# 元组本身不可变,如果元组中还包含其他可变元素,这些可变元素可以改变
# 只有当元组内的所有元素都为不可变类型的时候,才能成为字典的key
# 小括号中一个元素的时候没有逗号就括号中元素的本身
# 小括号中一个元素的时候有个逗号就是元组
# 空的小括号就是元组
# 元组有序:
# 索引,切片,步长
# 元组不可变数据类型
元祖不可以增删改 可以 索引 切片
# 元组的嵌套:
为什么要有元祖?
保护数据安全
方法补充
tuple
tu=(1,2,3)
tuple:
计数
print(tu.count("3"))
利用元素找索引 index()
print(tu.index("1"))
# 拆包
# a = 1
# b = 2
# a,b = b,a
# print(a,b)
# 字典是什么?
# dict
# {} "键":"值" 一个键对应一个值
# dic = {"key":"value",1:2,2:3}
# 键:必须是可哈希(不可变的数据类型),并且是唯一的
# 值: 任意
# 字典的无序的,python3.6版本以上 默认了咱们定义顺序,python3.5以下是随机显示
# 字典比较消耗内存 最常用的数据 : 字符串,列表,字典
# 有明确的对应关系时,推荐使用字典 字典一定要用明白 -- json
# dic = {"a":"b","b":"c"}
# 增:
# dic.setdefault("key","values")#存在就不添加,不存在就添加
# dic["s"] = "ssss" # dic[键] = 值
# 删:
# print(dic.pop("a")) #通过键删除 pop具有返回值,返回的被删除的值
# del dic["b"] #删除指定的键值对
# del dic # 删除整个字典
# dic.clear() # 清空字典元素
# 改:
# dic["b"] = "这是值" # 键在字典中存在就是修改,键在字典中不存在就是增加
# dic.update({6:6}) # update括号里的字典级别高有更新覆盖 无则添加
# 查:
# 字典的查询只能通过键获取值,不能通过值获取键
# print(dic["c"]) 键不存在的时候不报错
# print(dic.get("c","不存在"))# 键存在返回值,键不存在设定第2参数的时候不报错
# dic = {1:2,"a":"a1"}
# for i in dic: # for循环字典的时候打印的是字典的键
# print(i,dic[i])
# for k,v in dic.items():
# print(i)
补充方法
dict
dict:
dic = dict(k=1,k1=123,k2="aa",k3=222,k4=1123123) # 定义方式
批量创建字典
dic = {}
dic1 = dict.fromkeys("abcdef",[4,5,6])
第一个参数可迭代对象
第二个参数是每个键对应的值 -- 用的都是同一个内存地址
dic.popitem() #随机删除
python3.6版本 默认删除最后个键值对
python3.5版本以前 随机删除
批量创建字典
dic = {}
dic1 = dict.fromkeys("abcdef",[4,5,6])
第一个参数可迭代对象
第二个参数是每个键对应的值 -- 用的都是同一个内存地址
# 字典的嵌套:
# 枚举 默认从0开始
# enumerate()
list = ['a','b', 3, 4, 5, 6]
for i, j in enumerate(list):
print(i+1,j)
# 集合就是一个没有值的字典,遵循:唯一,无序,元素要求可哈希(不可变)
# 集合是无序的
# 集合是可变的
# 集合里面有元祖,只有当元组内的所有元素都为不可变类型的时候才可以做集合元素
# 创建set
# s = set("1234") # 定义方式
s={1,2,3,"123",False,(1,2,3,4,)}
print(s,type(s))
# 增:
# s.update("3456") # 迭代添加
# s.add("怼怼")
#删:
# s.pop() #随机删除
# s.clear() # 清空
# del s #删除整个集合
# 改:
# 删了,在加
# 查:
# for
# 天然去重 -- 唯一 列表去重
# print(s1 - s2) #差集
# print(s1 | s2) #并集 (合集)
# print(s1 & s2) #交集
# print(s1 ^ s2) #对称差集 -- 反交集
# print(s1 > s2) # 超集 -- 父集
# print(s1 < s2) # 子集
# 冻结集合(可变 转换成 不可变) -- 更不常用
# f_s = frozenset({1,2,3,4,5})
# dic = {f_s:"1"}
# print(dic)
原文:https://www.cnblogs.com/saoqiang/p/12386071.html