第四天知识总结

元组:

    # 元组:是只读列表,可循坏查询,可切片
# 儿子不能改,孙子可以改
tu = (1,2,3,'tye',[4,5,6,'table'],'mad')
print(tu[3])
print(tu[0:3])
for i in tu:
    print(i)
tu[4][3] = tu[4][3].upper()
print(tu)
tu[4].append('land')
print(tu)
元组的重要知识点:如果只有一个元素且不加逗号,里面是什么类型就是什么类型
t1 = (1)
t2 = (1,)
print(t1,type(t1))
print(t2,type(t2))
t1_1 = ([1])
t2_1 = ([1],)
print(t1_1,type(t1_1))
print(t2_1,type(t2_1))
 

扩展知识:

# 只能对可迭代对象进行
s = 'land'
i = '+'.join(s)
print(i)
# 让列表转换为字符串
s1 = ['name','tabel','fand']
i1 = ''.join(s1)
print(i1)
# 字符串转化为列表用:split
s1_1 = 'name table fand'
i1_1 = s1_1.split()        # 或者i1_1 = s1_1.split(" ")
print(i1_1)
rang的运用(顾头不顾尾):
for i in range(0,10):
    print(i)
for i in range(0,10,2):          # 可添加步长
    print(i)
for i in range(10,0,-2):           # 可以倒着取
    print(i)

# 例子
# 将列表中的全部内容打印出来,包括列表中的列表
# 方法一
tu = [1,2,3,'tye',[4,5,6,'table'],'mad']
for i in tu:
    if i == tu[4]:                # 也可以写成:if type(i) == list
        for k in i:
            print(k)
    else:
        print(i)
# 方法二
for i in range(len(tu)):
    if type(tu[i]) == list:
        for k in tu[i]:
            print(k)
    else:
        print(tu[i])

字典的认识:

数据类型划分:可变数据类型,不可变数据类型
# 不可变数据类型:元组,bool,int,str
# 可变数据类型:list,dict,set
# dict key(键) 必须是不可变数据类型
#        value: 任意数据类型
# dict 优点:采用的二分法查找
#            储存了大量的关系型数据
#            特点:无序的
dic = {
    'name':['小明','小白'],
    'introduce':[{'phone':123,'age':18},
                 {'phone':456,'age':19}
                 ],
    True:1,
    (1,2,3):'lu',
    2:'明天'
}
print(dic)

字典的增删改查:

#
dic1 = {'name': 'Tom','age':16,'sex':'male'}
dic1['height'] = 185   # 没有键值对,就添加
dic1['name'] = 'jack'   # 有健就修改
print(dic1)
dic1.setdefault('weight')
print(dic1)
dic1.setdefault('weight',180)
print(dic1)
dic1.setdefault('name','jack')       # 有键值对,不做任何改变,没有才增加
print(dic1)


#
dic1 = {'name': 'Tom','age':16,'sex':'male'}
print(dic1.pop('age'))      # 有返回值,按健去删除
print(dic1.pop('jack',None))      # 可设置返回值,一般都是None表示
print(dic1.pop('liu','没有值'))
print(dic1)
dic1.popitem()       # 随机删除,有返回值
print(dic1)
del dic1['name']      # 没有会报错
print(dic1)
del dic1
print(dic1)
dic1.clear()           # 清空字典
print(dic1)


#
dic1 = {'name': 'Tom','age':16,'sex':'male'}
dic2 = {'name': 'ming','weight':180}
dic2.update(dic1)         # 将1跟新到2,有就覆盖,没有就增加
print(dic1)
print(dic2)


#
dic1 = {'name': 'Tom','age':16,'sex':'male'}
print(dic1.keys())          # 打印健
print(dic1.values())        # 打印值
print(dic1.items())         # 打印(健,值)

for i in dic1:          # 默认打印健,相当于dicl.keys()
    print(i)
for i in dic1.values():
    print(i)
# # 课外知识
a,b = 1,2
print(a,b)
# 将a,b的值互换
a = 1
b = 2
a,b = b,a
print(a,b)
a,b = [1,2]         # 一一对应,两边要对等
print(a,b)
a,b = [1,2],[2,3]
print(a,b)
a,b = (1,2)
print(a,b)
for i,j in dic1.items():      # 结合上面理解
    print(i,j)

v1 = dic1['name']           # 有就返回对应值,没有就报错
print(v1)
v2 = dic1.get('name1','没有这个健')      # 和pop一样,没有就默认返回None
print(v2)

 字典的嵌套:

dic1 = {'name': 'Tom',
        'py1':{
            'age':16,
            'sex':'male'
              },
        'hobby':['game','basketball']
        }
dic1['hobby'].append('soccer')             # 在字典中的列表里面增加
print(dic1)
dic1['hobby'][0] = dic1['hobby'][0].upper()          # 将字典中列表中的值进行修改
print(dic1)
dic1['py1'].setdefault('years',2000)              # 在字典里面的字典中增加键值对(或者dic1['py1']['yeats'] = 2000)
print(dic1)
课外例子(输入一个字符串,得出数字有几组):
info = input('请输入字符串')
for i in info:
    if i.isalpha():         # 检测字符串是否只由字母组成。
        info = info.replace(i,' ')          # 进行替换
j = info.split()       # 进行分割,相当于转变为列表形式
print(len(j))
 
原文地址:https://www.cnblogs.com/world-sum/p/13270092.html