总结
双重循环
-
冒泡排序
lt = [1, 5, 7, 3, 2, 4] # 计算元素的个数 n = len(lt) # 外层循环控制圈数 for i in range(n-1): for j in range(n-1-i): # 不合适,交换数据 # 此处是升序排序,若想降序需要将 > 改为 < if lt[j] > lt[j+1]: # 其他语言 # temp = lt[j] # lt[j] = lt[j+1] # lt[j+1] = temp # python特有 lt[j], lt[j+1] = lt[j+1], lt[j] print(lt)
-
选择排序(练习)
思想: 取出第一个元素,依次与后面的元素进行比较,不合适交换位置,直至比较结束,一轮可以确定开头一个 每轮确定一个元素,依次向后,n个元素需要n-1轮比较 示例:lt = [3, 5, 2, 1, 8, 4] 第一轮:1 5 3 2 8 4 第二轮:1 2 5 3 8 4 第三轮:1 2 3 5 8 4
提示:仍然使用双重循环进行解决,外层循环控制循环多少轮,内心循环控制元素比较
数据类型
-
集合
添加:add 删除: remove,元素存在就删除,不存在就爆粗 discard,元素存在就删除,不存在也不保存 pop,随机弹出一个元素,返回后删除元素 清空:clear 并集:union 交集: intersection:不改变原集合 intersection_update:使用交集更新原集合 差集: difference:不会改变原集合 difference_update:使用差集更新原集合 判断: isdisjoint:是否没有交集 issubset:是否是另一集合的子集 issuperset:是否是另一集合的超集(父集)
-
字典
获取: d[key]:根据键获取值,不存在时或报错 d.get(key, '默认值'):不存在时默认返回None,也可以指定默认值 更新: d[key] = value 键存在就更新,不存在就添加 d.update(d2) 将字典d2中的键值对依次添加到d中,已经存在的键会覆盖 删除: del d[key] d.pop(key) 返回删除的值 清空:clear 所有键:keys 返回可迭代对象 所有值:values 返回可迭代对象
-
字符串
join:拼接 split:切割,从左边 rsplit:从右边切割 splitlines:按照换行符切割
自行测试:
find:查找第一次出现指定字符串的位置,没有时返回-1 rfind:从右边开始查,返回第一次出现的位置 upper:全大写 lower:全小写 swapcase:大小写转换 capitalize:首字符大写 title:每个单词首字母大写 count:统计某个字符串出现的次数 startswith:是否以指定字符串开头 endswith:是否以指定字符串结尾 istitle:是否每个单词首字母大写 islower:是否是全小写 isupper:是否是全大写 isdecimal:是否是数字 isalpha:是否是字母 isalnum:是否是数字或字母