美文网首页
day-08 总结

day-08 总结

作者: 哗啦噼里啪啦 | 来源:发表于2019-01-03 16:40 被阅读0次

    容器性数据

    1.元祖(tuple)

    1.什么是元祖(tuple)

    python提供的容器型数据类型,不可变并且有序
    不可变 -- 不支持增删改,只支持查
    有序 -- 每一个元素都对应一个确定的下标
    2.字面量和元素
    (元素1,元素2,元素3.....)
    元素 -- 可以是任何数据类型,并且类型可以不一样,
    也可以同样的元素有多个

    point=(100,30)
    print(point,type(point))
    注意:
    空的元祖:()
    tuple1=()
    print(type(tuple1))
    
    2,只有一个元素的元祖,必须在元素后面加一个逗号
    tuple2=(100,)
    
    3,直接将多个元素用逗号隔开,不加小括号表示的也是元祖
    
    tuple3=1,2,3
    print(tuple3,type(tuple3))
    

    3.元祖获取元素和列表是一样的,切片

    tuple4=('成都','达州','绵阳','南充','广元')
    获取单个
    print(tuple4[1],tuple4[-1])
     获取部分
    print(tuple4[0:3])
    遍历
    for city in tuple4:
        print(city)
    
    for index in range(len(tuple4)):
        print(tuple4[index])
    

    补充:特殊的获取方式

    1,变量1,变量2...=元祖 ---->用前面的变量依次去获取元祖中元素的值
    (要求前面变量的个数和元祖元素的个数一致)

    point=(100,200)
    x,y=point
    print(x,y)
    

    2.变量1 * 变量2 = 元祖---通过带的变量获取元祖中剩余的部分
    注意:在这个结构中,带
    的变量只能有一个,不带*的变量可以有多个

    name,*scores=('小花',100,89,67,99)
    print(name,scores)  #小花 [100, 89, 67, 99]
    name,num,*scores=('小花',100,89,67,99)
    print(name,num,scores) #小花 100 [89, 67, 99]
    *info,num1,num2=('小花',100,89,67,99) # ['小花', 100, 89] 67 99
    print(info,num1,num2)
    

    补充 *的用法

    1,取元祖和列表中的数据
    nums = (1,2,3)
    nums2 = [11,22,33]
    print(*nums,*nums2)  # 1 2 3     11 22 33
    
    

    相关运算

    +  *
    in / not in 
    len(),max(),min(),sum(),tuple()
    
    tuple1=(1,2,3)
    tuple2=('aa','bb')
    print(tuple1+tuple2) # (1, 2, 3, 'aa', 'bb')
    print(tuple2*3)    # ('aa', 'bb', 'aa', 'bb', 'aa', 'bb')
    

    5.排序
    sorted(序列) -- 对序列中的元素排序产生一个新的列表,不管什么序列,返回的都是列表
    注意:列表.sort()--修改列表中元素的顺序
    sorted(列表)--产生一个新列表

    tuple4=(12,56,34,89,2,5,8,4,3,1,9,8,7,5,4)
    new_tuple4=sorted(tuple4,reverse=True)
    print(new_tuple4)
    new_tuple2=sorted('asdasdadasdasdasfdf')
    print(new_tuple2)
    

    join 的使用

    字符串.join(序列)--将序列中的元素取出用指定的字符串连接在一起,要求序列中的元素必须是字符串

    new_str=''.join(new_tuple2)
    print(new_str)
    print([1,2,3,4,5][::-1])
    

    字典

    1.什么是字典(dict)

    python提供的容器性数据类型,可变并且无序的
    可变 - 支持元素的增删改
    无序 - 不支持下标操作

    2.字面量和元素

    用大括号括起来,里面有多个键值对,每个键值对用逗号隔开。键值对就是字典的元素
    {'a':1,'b':2}{key1:value1,key2:value2}
    键值对-- 键:值 / key:value
    注意; 键值对必须成对出现,而且脱离字典单独出现是没有任何意义的
    键/key - 必须是不可变的,而且是唯一的。实际一般将字符串作为键
    值/value - 可以是任意数据类型
    注意,字典存数据是通过值来储存的,key是值对应的标签和获取值的方式

    dict1 ={'a':100,'b':200,10:10}

    3.什么时候使用字典:多个没有相同意义的数据(需要区分),就使用字典。例如保存一个人的信息,一辆车的不同信息

    什么时候使用列表:存储的多个数据是相同意义的数据(不需要区分),就是用列表,

    练习;申明一个斌量,
    保存一个班的学生信息,每个学生需要保存姓名电话年龄

    class_student=[]
    stu_message1={'name':'xiaohua','age':23,'tel':13600000000}
    

    字典元素的增删改查

    1.查(获取值)

    注意:字典中的键值对单独拎出来没有意义

    a. 字典[key]--获取key对应的值
    注意;当key不存在会报错keyerror

    b. 字典.get(key) -- 获取key对应的值,当key不存在的时候不会报错,并且会取到一个默认值None
    字典.get(key,值1)-- 获取key对应的值,当key不存在时,会返回默认值1
    c。 遍历字典 --
    注意;直接通过for循环遍历字典取到的是key

    car = {'color':'黄色','type':'跑车','price':500000}
    print(car['color'])
    print(car['price'])
    print(car.get('color'))
    print(car.get('speed',20))
    dict1={'a':2,'b':4,'c':3}
    for key in dict1:
        print(key,end='  ')
        print(dict1[key])
    
    
    遍历字典的value(),获取所有的值
    for value in dict1.values():
        print(value)
    遍历字典的items,截止获取key和value
    for key,value in dict1.items():
        print(key,value)
    

    2,增和改

    a.字典[key] = 值 ---当key不存在就是添加键值对
    ---当key存在的时候就是修改key对应的值

    3.删除

    删除键值对:
    del 字典[key] - 删除指定的key对饮的键值对

    字典相关方法

    1.比较运算 --

    a. == 、!=
    注意:判断两个字点是否相等,只看键值对是否一样,不看键值对的顺序
    字典不支持 > 和 < 符号

    2. in 和 not in

    key in 字典 ---判断字典中是否存在指定的key
    key not in 字典

    dict1={'a':1,'b':2,'c':3}
    print('a'in dict1)
    

    3.len()---获取字典键值对的个数

    max()---获取字典键最大值
    min()---获取字典键最小值
    dict(数据)---将指定数据装换成字典
    要求:首先必须是序列,其次序列中的元素必须是有两个元素的子序列
    字典转列表/元祖/集合都是将所有的key取出来作为列表/元祖/集合的元素

    4.相关方法
    1.字典.clear() --- 清空字典
    2.字典.copy() --- 复制字典中的元素产生新的字典。注意:拷贝赋值会产生新的地址
    3.dict.fromkeys(序列,值)--以序列中的元素作为key,用值来作为value,
    产生一个新的字典
    4.字典.keys() -- 将字典所有的key取出产生新的序列
    字典.values() -- 将字典所有的value取出产生新的序列
    字典.items() -- 将字典所有的键值对作为元祖元素产生一个新的序列
    5.字典.setdefault(key,value)---注意;当key存在的时候,不会修改
    a.字典.setdefault(key) - 当key不存在的时候,添加键值对key:None
    b.字典.setdefault(key,value)当key不存在的时候,添加键值对key:value
    6.字典.update(序列)--将序列中的元素更新(如果字典里面存在键值对就是修改,不存在就是添加)到指定字典里面

    # 1字典.clear
    dict1.clear()
    print(dict1) # {}
    # 3 dict.fromkeys()
    str1='as123'
    new_dict = dict.fromkeys(str1,20)
    print(new_dict) #{'a': 20, 's': 20, '1': 20, '2': 20, '3': 20}
    #  setdefault
    dict2={'a':1,'b':2,'c':3}
    dict2.setdefault('d',4)
    print(dict2)  # {'a': 1, 'b': 2, 'c': 3, 'd': 4}
    # update
    dict2={'a': 1, 'b': 2, 'c': 3, 'd': 4}
    dict2.update({'e':5,'f':6})
    print(dict2)
    

    集合

    1.什么是集合(set)

    可变的无序的,元素是唯一不可变的

    2.字面量

    {元素1,元素2....}
    set2=set() -- 空集合
    集合自带去重功能

    set1={1,23,'asd'}
    print(set1)
    set2=set()
    

    增删改查

    a.查。
    只能通过遍历元素,集合不能获取单个元素
    b.增
    集合.add(元素)--- 在指定的集合添加指定元素
    集合.update(序列)--- 将序列中的元素添加到集合里面
    c.删
    集合.remove(元素)---删除集合中指定的元素

    set1={1,2,3,4,5,7}
    set1.add(8)
    print(set1)
    

    4.数学集合运算

    交集(&):两个集合的公共元素
    并集(|):将两个集合中的元素合并在一起产生一个新的集合,会自动去重
    差集(-):去掉集合1中包含集合2中的公共部分剩下的部分产生一个新的部分
    补集(^):将两个集合合并在一起,去掉公共部分,留下剩下的部分
    子集的判断:集合1>集合2--判断集合1中是否包含集合2
    集合1<集合2--判断集合2中是否包含集合1

    相关文章

      网友评论

          本文标题:day-08 总结

          本文链接:https://www.haomeiwen.com/subject/tlxqrqtx.html