Python字符串教程
"""
字符串string, 从左向右从0开始,从右向左-1,-2。
"""
"abcdef"
"""
字符串的基本操作, python中的字符串是不可变的,会拷贝一份进行修改,原string不变
切割,并没有slice函数直接中括号,中间使用**冒号**隔开 [起始:结束:步长]
"""
# abc
# ace 或者是省略直接写冒号
# ace 步长为2表示隔着读取
# bd 从b开始读取
# fdb 步长为负数表示从右到左,倒着读
# fd 步长为负数表示从右到左,倒着读
"==========================="
"""
a.capitalize() 字符串**首字母**进行大写
a.title() 字符串**每个单词的首字母**进行大写
a.startswith() 字符串是否以某个字串开始
a.endswith() 字符串是否以某个字串结尾
a.lower() 字符串所有字母进行小写
a.upper() 字符串所有字母进行大写
"""
"hello world"
"ab"
"ab"
"""
a.ljust(self, width, fillchar) 字符串进行左对齐,字符串占用的长度和需要填充的字符
a.rjust(self, width, fillchar) 字符串进行右对齐,字符串占用的长度和需要填充的字符
a.center(self, width, fillchar) 字符串进行居中,字符串占用的长度和需要填充的字符
a.lstrip(char) 删除字符串左边的字符,不写参数的话去除的是左边空格,相当于左边trim()
a.rstrip(char) 删除字符串右边的字符,不写参数的话去除的是右边空格,相当于右边trim()
a.strip(char) 删除字符串两边的字符,不写参数的话去除的是两边空格,相当于java的trim()
"""
"abcdef"
"0" # abcdef0000
"0" # 0000abcdef
"0" # 00abcdef00
"0"
"0"
"0"
"""
a.partition("b") 将字符串以"b"字,分割,如果b在中间且只有一个b,那么返回一个数组[前,"b",后]
a.splitlines() 将字符串逐行分割,返回一个list,非数组,按需求进行选择方法
a.isalpha() 字符串是否全是字母,不论大小写,返回bool
a.isdigit() 字符串是否全是数字,返回bool
a.isalnum() 前两个的集合体al + num,判断字符串是否包含数字或者字母或者混合也行
a.isspace() 字符串是否只包含空格
a.join(["xxx","yyy"]) list中每个元素的后面都插入a字符串
"""
"ab\ncd\nef"
"b" # ('a', 'b', 'cdef') -> b
# ['ab', 'cd', 'ef']
"x" "1" "2" "3" # 1x2x3
"" "1" "2" "3" # 123 将list迅速转换为一个字符串
# "abcbdbebf" -> "acdef"
"abcbdbebf"
"b" # 去除字符串中所有的b,返回一个list
"" # list转换为字符串
"""
a.ljust(self, width, fillchar) 字符串进行左对齐,字符串占用的长度和需要填充的字符
a.rjust(self, width, fillchar) 字符串进行右对齐,字符串占用的长度和需要填充的字符
a.center(self, width, fillchar) 字符串进行居中,字符串占用的长度和需要填充的字符
a.lstrip(char) 删除字符串左边的字符,不写参数的话去除的是左边空格,相当于左边trim()
a.rstrip(char) 删除字符串右边的字符,不写参数的话去除的是右边空格,相当于右边trim()
a.strip(char) 删除字符串两边的字符,不写参数的话去除的是两边空格,相当于java的trim()
"""
"abcdef"
"0" # abcdef0000
"0" # 0000abcdef
"0" # 00abcdef00
"0"
"0"
"0"
"""
a.partition("b") 将字符串以"b"字,分割,如果b在中间且只有一个b,那么返回一个数组[前,"b",后]
a.splitlines() 将字符串逐行分割,返回一个list,非数组,按需求进行选择方法
a.isalpha() 字符串是否全是字母,不论大小写,返回bool
a.isdigit() 字符串是否全是数字,返回bool
a.isalnum() 前两个的集合体al + num,判断字符串是否包含数字或者字母或者混合也行
a.isspace() 字符串是否只包含空格
a.join(["xxx","yyy"]) list中每个元素的后面都插入a字符串
"""
"ab\ncd\nef"
"b" # ('a', 'b', 'cdef') -> b
# ['ab', 'cd', 'ef']
"x" "1" "2" "3" # 1x2x3
"" "1" "2" "3" # 123 将list迅速转换为一个字符串
# "abcbdbebf" -> "acdef"
"abcbdbebf"
"b" # 去除字符串中所有的b,返回一个list
"" # list转换为字符串
Python数组教程
"""
list列表元素的修改操作
"""
"双击666"
"""
查询list元素 (in, not in, index, count)
为了避免index方法找不到的报错,解决方案:
1, 先判断是否in,然后再list.index进行获取
2, 判断count非零即真,-1等负数也是真,再进行获取
"""
if
in"存在"
if
not in"不存在list中"
# 查询某个元素的index, 找不到的话不返回-1,直接报错
# 查询某一个元素出现的次数
if
"22元素存在可以安全的获取索引:%d"
else
"元素不存在列表中"
"""
list删除元素
del 是一个内置函数,并不是属性, del 函数直接销毁对象
pop 是属性,pop()默认删除最后一个,pop(1)删除索引为1的元素,并且返回该元素
remove 是属性, pop是知道索引进行删除,remove是知道obj进行删除
clear 清空为[]
"""
del
# del b_list的话会直接删除b_list整个list,销毁对象,再print的话就话undefined
# remove不存在的元素会抛异常报错
"""
list元素的排序
sort() 默认无参数是从小到大
reversed(list) 整个列表直接反过来,返回值是一个新的list
"""
import
for
in
True # 降序,从大到小
# [12,10,7,9] -> [9,7,10,12]
"""
一个学校,三个办公室, 八位老师进行随机分配办公室
"""
"ABCDEFGH"
for
in
Python元组教程
"""
字符串表示:"", '', """"""
list表示:[], 可修改
元组的表示:(), 元组的元素不能进行修改,
元组中如果只有一个元素的话,后面加上逗号表明是一个tuple,否则就是元素真实类型
"""
"Hello" True
# 特例
# type = int
# type = tuple
"""
访问元组tuple
查询的话和list一样使用count, index
"""
# a_tuple[1] = "哈哈" 元组的元素不能重新赋值和修改,因为tuple是不可变的
# 元组中1对象出现的次数是2, 因为Ture在计算机眼中就是1
Python字典教程
"""
字典数据类型dictionary表示方法: 花括号{}
"""
"name" "张三" "age" "id" "007"
"""
字典的常见操作
字典的key必须是**不可变**,可以是任意类型,元组也可以为key,因为元组是不可变的
注意字典的key必须不可变但是可以重复, 重复的话获取的是最后一个
"""
"元组value01"
"name" "张三"
"info" "address" "石家庄" "country" "中国"
"元组value02"
"info" "country"
"""
字典修改元素的value, 前提是key存在,
添加元素: 否则就会新增一个key-value
删除元素:del python内置函数可以用在list, tuple和字典都可以用
"""
"name" "李四"
"name2" "王五" # name2 不存在, 直接就会添加进去
del
"name2"
"""
len() 字典的长度
keys() 返回字典中所有的key的集合, 转化为list类型
values() 返回字典中所有的value的集合, 转化为list类型
items() 返回的是一对对key-value以元组的形式
"""
# dict_keys(['name', 'age', 'id']) -> ['name', 'age', 'id']
# [('name', '张三'), ('age', 20), ('id', '007')]
"""
python3中取消了字典的has_key方法,使用的是setdefault
使用的是setdefault("key", "找不到的默认值"), 找不到的话会修改添加新的key到字典中
get(key, 默认值) 和setdefault的作用基本一样, 但是不会添加新的key,原来dict不会变
"""
if "name" in
"有一个key为name的。"
else
"字典中没有一个key叫做name"
"name1" "name的默认值" # 找不到name1, 添加进去
"name2" "name的默认值" # 找不到name2, 但是不会添加进去
"""
字典的遍历,
"""
"name" "张三" "age" "id" "007"
for
in
for
in
for
in # 遍历字典的元素,返回一个个元组(),()
for
in # 遍历字典的键值对"->"
"xxx"
"yyy"
# print多个变量, 第二个参数默认是一个空格:xxx yyy
"--->" # xxx ---> yyy
"""
enumerate(list / tuple等带有索引的数据结构)可以获得index
"""
"张三" "李四" "王五"
"张三" "李四" "王五"
for
in"-->"
Python集合(SET)教程
"""
集合set表示花括号{}, 无序不可重复,重读的话只保留一份,python自动去重操作
add() 添加到set中, 相当于list中的append
update(可迭代对象), 类似于list中的extend, 将可迭代的最小单元add到set中
"""
# {1, 3, 5, 7} 去重操作
# 指的是空的字典,并不是集合set类型
"abcd"
"""
set中的删除
remove(obj), set无序,只能根据obj进行删除,找不到obj的话异常
pop(), 因为set无序, 删除的并不是最后一个,而是随机的删除一个元素
discard(), 元素存在删除, 不存在则不会发生异常
"""
# set中的discard安全一点,不会异常
"""
多个set集合的操作, 交集并集主要用在多个set的去重
& -> 交集
| -> 并集
"""
# 去重的话讲list转换为set的话直接迅速, 不需要手动判断
# 利用set集合的特点,进行多个list的去重, 将每一个list转换为set求交集即可,一行代码搞定
"""
字符串, list, 元组, 字典等运算符公共方法
"""
# [1, 2, 3, 4]
# [1, 2, 1, 2, 1, 2, 1, 2]
in # True
not in # False