总结

双重循环

  • 冒泡排序
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:是否是数字或字母