# 字符串
1. 定义: str 类型的, 是字符串例如: var1 = Hello world!
2. 使用:
1. 增:+
2. 查: index(str), find(str), in
字符串的常用方法
- def main():
- print(help(.isalnum))
- str1 = hello, world
- print(len(str1))
- print(str1.capitalize())
- print(str1.upper())
- print(str1)
- print(str1.find(o)) # 给出出现的位置 i 找不到返回 - 1
- print(str1.index(o)) # 给出出现的位置, 找不到报错
- print(str1.startswith(He)) # 检查以什么开头的不是返回 False 是的话返回 True.
- print(str1.endswith()) # 检查什么结尾的, 是返回 True, 不是返回 False
- print(str1.center(50, *)) # 居中, 空余位置以 填充
- print(str1.rjust(50, ))
- print(str1.ljust(50, %))
- str2 = abc123456
- print(str2[2]) # 切片
- print(str2[2:5]) # 切片
- print(str2[-1::-1]) # 倒叙
- print(str2[2:]) # 取位置 2 到结束
- print(str2[2::2]) # 取位置 2 到结束, 步长为 2
- print(str2[::2]) # 从前到后取完, 步长为 2
- print(str2[-3:-1])
- print(str1.isdigit()) # 判断是不是全是数字
- print(str2.isalpha()) # 判断是不是全是字母
- print(str2.isalnum()) # 判断是不是全是数字和字母
- str3 = sfsfsdfsdff@126.com
- print(str3)
- print(str3.strip()) # 去掉前后的空格
- if __name__ == __main__:
- main()
- # 列表
定义:
列表是 Python 中最基本的数据结构, 序列中的每一个元素都分配一个数字, 它的位置, 或索引, 第一个索引是 0, 以此类推可以进行索引, 切片, 增, 减, 查它是由方括号和逗号分隔来实现的
创建:
- list(), [1, 2, 3, 4], [x for x in range(6)]
- # 列表的基本使用
- def main():
- f = [100, 200, 500]
- # print(f[0], f[1], f[2])
- # for val in f:
- # val += 10
- # print(val)
- # print(f)
- # # 遍历容器最好的做法!!!!! 既有下标, 又有值
- # for index, val in enumerate(f):
- # print(index, :, val)
- # CRUD 操作 Create Read Update Delete
- f.append(1) # 追加
- f.insert(1, 1) # 插入
- # f.remove(500) # 知道值, 移除列表中的值, 移除遇到的第一个值如果没有就报错
- if 1 in f:
- f.remove(1) # 上面的加强版, 不知道值和位置
- # f.clear() # 全部清除
- del f[2] # 直到位置, 直接删除指定位置的元素
- print(f.index(100, 0, 5)) # 知道元素, 找指定范围内元素的位置
- f.pop() # 不带入参数, 默认删除最后一个值
- print(f)
- if __name__ == __main__:
- main()
- # 列表的多重使用, 矩阵
- def main():
names = [关羽, 张飞, 赵云, 马超, 貂蝉]
subjects = [语文, 数学, Python]
- table = [[0] * len(subjects) for _ in range(len(names))] # 创建一个 5 行 3 列的矩阵
- for row, name in enumerate(names):
- print(请输入 %s 的成绩: % name)
- for col, subject in enumerate(subjects):
- score = int(input(%s: % subject)) # 输入每个位置的值
- table[row][col] = score # 将每个位置的值, 填进去
- print(table)
- if __name__ == __main__:
- main()
- # 元组 tuple
定义:
和 List 很像, 但是它是由圆括号和逗号分隔组成用法和 list 一样, 区别在于他里面的元素不可更改, 且在时间和空间上都优于列表不能使用增删操作
- def second_max(x):
- # tuple 元组 不可更改, 占的空间小一些安全一些, 能用元组, 不用列表
- """
输出最大值和第二大的值
:param x: 输入的列表
:return: 返回最大值和第二大的值
- """
- (m1, m2) = (x[0], x[1]) if x[0] > x[1] else (x[1], x[0])
- for index in range(2, len(x)):
- if x[index] > m1:
- m2 = m1
- m1 = x[index]
- elif m1 > x[index] > m2:
- m2 = x[index]
- return m1, m2
- def main():
- my_list = [35, 79, 92, 92, 68, 55, 40]
- print(second_max(my_list))
- # 集合
定义:
由大括号和逗号分隔符组成, 里面的元素不可重复, 重复的会被删掉, 只保留一个值, 故没有顺序, 随机, 不可排序, 没有下标
- def main():
- set1 = {1, 1, 2, 2, 3, 3}
- set1.add(4) # 增加
- print(set1)
- set2 = {1, 3, 5, 7, 9}
- print(set2)
- set3 = set1.intersection(set2) # 交集 & set1 & set2
- print(set3)
- set3 = set1.union(set2) # 并集 | set1 | set2
- print(set3)
- set3 = set1.difference(set2) # 差集 = 减去公共部分 - set1 - set2
- print(set3)
- set3 = set1.symmetric_difference(set2) # 对称差 = 并集 - 交集 ^ set1 ^ set2
- print(set3)
- for val in set2:
- print(val)
- print(set2.pop()) # 能拿一个, 不能保证拿到的是哪个
- print(set2)
- if 3 in set2:
- set2.remove(3) # 判断, 删除元素
- print(set2)
- set4 = {1, 2}
- print(set4.issubset(set1)) # 4 是 1 的子集, set4 <= set1
- print(set1.issuperset(set4)) # 1 包含 4. set1 >= set4
- if __name__ == __main__:
- main()
- # 字典 dict
定义:
字典是另一种可变容器模型, 且可存储任意类型对象字典的每个键值 (key=>value) 对用冒号 (:) 分割, 每个对之间用逗号 (,) 分割, 整个字典包括在花括号 ({}) 中
def main():
dict1 = {name: 张立, age: 34, jender: True, motto: hello world}
- print(dict1[name])
- print(dict1[age])
- print(dict1[jender])
dict1[name] = 王大锤 # 更新
- print(dict1[name])
- print(dict1)
- # dict1 +={tell: 123456788}
- dict1.update( height=174.5, fav=[吃, 喝]) # 增加元素
- print(dict1.pop(age))
- print(dict1.popitem())
- # 删除 del
- print(dict1)
- for x in dict1:
- print(x, --->, dict1[x]) # 查
- # setdefault 返回
- dict1.setdefault(motto, 开心) # 原来里面有, 用原来的, 如果未定义, 返回我这里定义的
- if __name__ == __main__:
- main()
来源: http://www.bubuko.com/infodetail-2522055.html