Python :元组 字典 字符串 选择排序 的用法

代码很长,都是干货,觉得对自己有用来个三连呗!

运行环境 win10
Python 3.6.4

"""
    选择结构
    创建一个列表对其进行选择排序
    和换房子一样一个一个拎出来放到一个临时变量中在更换
"""
# 创建一个列表
list = [6,22,2,9,8,12,55,3,1]
# 对其选择排序
for i in range(0,len(list)):
    t = list[0]
    index = 0
    for j in range(1,len(list)-i):
        if list[j] > t:
            t = list[j]
            index = j
    last = len(list)-1-i
    # 把最大的那个值和索引放到最后面
    list[index] = list[last]
    list[last] = t
print(list)
"""
元组的定义和基本使用
"""
# 元组的定义
tuple1 = ('张三','男',18)
tuple2 = ('张三','男',19)
# 元组的查看
print(tuple1)
# 元组的遍历
for tup in tuple1:
    print(tup)

# 元组的取值
print( tuple1[0])
print( tuple1.index('张三'))
print( tuple1.index(18))  # 获取 18 在 元组中的 索引

# 其他类型转元组
tup = tuple(list)
print(tup)

# 元组在函数中使用

def aa():
    a = 'zxs'
    b = 16
    return (a,b)
print(aa())
print(aa()[0])

"""
字典:对对象进行整合
字典的创建和基本使用
"""
dic = {
    'name':'Jack',
    "age":18,
    "heigth":180,
    "cat":{
        "name":'Bilibili.狗.德川家康.保留'
    }
}
# 打印字典
print(dic)
print(dic['name'])
print(dic['cat']['name'])


# 添加和修改
dic['name'] = 'Jock' # 已有属性会直接更改值
print(dic['name'])
dic['sex'] = '男' # 没有的会添加
print(dic)

# 删除
dic.pop('sex')
print(dic)

# 字典合并
dic1 = {
    'name':'ls',
    'age':16,
    'hei':168
}
dic2 = {
    'name':'lsss',
    'age':26,
    'sex':'女'
}

dic1.update(dic2)
print(dic1)
print(dic2)
"""
    可以看到 dic1的内容被dic2
    的更新了。dic2没变
"""

# 字典的清除
dic1.clear()
print(dic1)
"""
    字典内的东西被清空了但是字典还在
"""

# 字典的遍历
for k in dic:
    print(dic[k])


# 字典的常用案例
# 学生管理系统
studentList = [{
    'name' : '张三',
    "age": 18,
    "score":98
}]
print(studentList)
# 字典的拼接
studentList.append({
    'name': '李四',
    "age": 19,
    "score": 69
})
print(studentList)


"""
    字符串的常见操作
"""

str1 = "haha my name is moma haha"
str2 = "这只猫叫:'Bilibili.狗.德川家康.保留'"

# 获取字符串中的字符
print(str1[2])  #h
print(str2[2])  #猫

# 遍历所有的字符
for s in str2:
    print(s)

# 字符串的长度
print(len(str2))

#查找子串出现频率
print(str2.count("'"))

# 某一个字符(子串)出现 索引(下标),找到第一个就停下来了
print(str2.index('l'))
print(str2.index('Bilibili'))

# 查找
str3 = 'Excalibur:Sword of Promised'
print(str3.startswith("Ex")) ##判断是否以什么开头
print(str3.find("Bilibili")) ##找不到,返回-1
print(str3.find("of",2))  #从下标为2的位置开始找,到结束
print(str3.find("cali",2,8)) #从下标为2的位置开始找,到下标8
print(str3.rfind("ed")) # 从右边开始找

##不会改变原有的字符串,改变之后 通过返回方式给你改变间隔方式
saber = str3.replace(" ","-")
print(str3)
print(saber)

#拆分
a = saber.split("-")
print(a)

#string.capitalize() 把字符串的第⼀个字符⼤写
str4 = 'excalibur: eword of eromised'
a = str4.capitalize() # 一定有返回值,不可以在原数据上改
print(a)

# string.title() 把字符串的每个单词⾸字⺟⼤写
a = str4.title()
print(a)

"""
string.lower() 转换 string 中所有⼤写字符为⼩写
string.upper() 转换 string 中的⼩写字⺟为⼤写
string.swapcase() 翻转 string 中的⼤⼩写
"""


# 字符串 拆分成元组    分成⼀个 3 元素的元组
a = str2.partition('.')  # 只能分成三组
print(a)

# string.rpartition(str) 类似于 partition() ⽅法,不过是从右边开始查找


"""
string.split(str="",num)
以 str 为分隔符拆分 string,如果 num 有指定值,则仅分隔 num + 1 个
⼦字符串,str 默认包含 '\r', '\t', '\n' 和空格
string.splitlines() 
按照⾏('\r', '\n', '\r\n')分隔,返回⼀个包含各⾏作为元素的列表
string.join(seq)
以 string 作为分隔符,将 seq 中所有的元素(的字符串表示)合并为⼀个
新的字符串
"""

你可能感兴趣的:(知识点,笔记,代码验证,字符串,python,字典)