美文网首页
2019-04-24总结

2019-04-24总结

作者: 十点半的橙汁 | 来源:发表于2019-04-24 18:45 被阅读0次

    1.元祖

    1.什么是元祖(tuple)
    元祖是python提供的容器型数据类型(序列),不可变,有序
    元祖就是不可变的列表,一般用来保存一些不容修改的数据。
    形式:(元素1,元素2,元素3....)
    2.元素

    tuple1 = ()
    print(tuple1,type(tuple1))
    () <class 'tuple'>
    

    (1)如果一个元祖中只有一个元素,这个元素后面必须加逗号

    tuple2 = (10,)
    tuple3 = (10)
    print(tuple2,type(tuple2),tuple3,type(tuple3))
    (10,) <class 'tuple'> 10 <class 'int'>
    

    (2)元祖数据中小括号可以省略。(多个数据直接用逗号隔开,其实表示的还是一个元祖)
    3.获取元素:和列表一样

    tuple1 = ('周1', '周2', '周3')
    print(tuple1[1])
    print(tuple1[2])
    for i in tuple1:
        print(i)
    周2
    周3
    周1
    周2
    周3
    

    (1)让变量的个数和元祖中元素的个数保持一致,来一一获取元祖中的值

    point = (100, 50)
    x, y = point
    print(x,y)
    100 50
    
    a, b, c = 10, 20, 30
    

    (2)让多个变量同时获取元祖中的元素的时候,可以在一个变量前加
    将这个变量变成一个列表,来获取不带
    的变量获取后剩下的数据。(带*的变量只能有一个)

    student = ('小米', 18, 20, 89, 30, 32, 50)
    name, age, *score = student
    print(name, age, score)  
    name, *scoer, age,a = student
    print(name, age, a, score)
    小米 18 [20, 89, 30, 32, 50]
    小米 32 50 [20, 89, 30, 32, 50]
    

    2.字典

    1.什么是字典(dict)
    字典是pytho提供的容器型数据类型(序列),可变的,无序
    {键值对1,键值对2,键值对3.....} ---字典的元素就是键值对
    键值对---- 以’键:值’的形式成对出现
    键(key) ----要求不可变、唯一(建议用字符串做key,作用:对数据进行说明和区分)
    值(value) ----任何类型的数据都可以作为值

    dic1 = {10: 100, 'a': 100, (1, 2): 100}
    print(dic1,len(dic1))
    {10: 100, 'a': 100, (1, 2): 100} 3
    

    2.元素的操作
    (1)查 --获取值
    字典[key] ---获取字典中key对应的value,如果key不存在会报错。
    字典.get(key) ---获取字典中key对应的value。
    (如果key不存在,结果不报错,返回None)
    字典.get(key,默认值) ---获取字典中key对应的value。(如果key不存在不报错,返回默认值)

    dic1 = {10: 100, 'a': 100, (1, 2): 100}
    print(dic1[10])
    print(dic1.get('b'))
    print(dic1.get('b','hi'))
    100
    None
    hi
    

    3.遍历字典
    1)直接通过for循环遍历字典的时候,获取到的是所有的key

    dic1 = {10: 100, 'a': 100, (1, 2): 100}
    for i in dic1:
        print(dic1[i])
    100
    100
    100
    

    2)间接遍历(数据量多的时候不用)

    dic1 = {10: 100, 'a': 100, (1, 2): 100}
    for value in dic1.values():
        print(value)
    100
    100
    100
    
    dic1 = {10: 100, 'a': 100, (1, 2): 100}
    print(dic1.items())
    for key, value in dic1.items():
        print(key, value)
    dict_items([(10, 100), ('a', 100), ((1, 2), 100)])
    10 100
    a 100
    (1, 2) 100
    

    4.增/改
    字典[key] = value ---如果key存在,修改key对应的值;如果key不存在,就添加键值对

    dic1 = {10: 100, 'a': 100, (1, 2): 100}
    dic1['k'] = 50             #增
    print(dic1)
    dic1['a'] = 'abc'          #改
    print(dic1)
    print(dic1.get('a'))
    {10: 100, 'a': 100, (1, 2): 100, 'k': 50}
    {10: 100, 'a': 'abc', (1, 2): 100, 'k': 50}
    abc
    

    5.删
    1)del 字典[key] ----删除key对应的键值对,如果key不存在会报错
    2)字典.pop(key) ----取出字典中key对应的值,如果key不存在会报错

    dic1 = {10: 100, 'a': 100, (1, 2): 100}
    del dic1['a']
    dic1.pop(10)
    print(dic1)
    {(1, 2): 100}
    

    6.字典相关操作
    1)运算符:不支持数学运算,比较运算符只支持比较相等,不支持比较大小
    2)in / not in
    key in 字典 ---判断字典中是否存在指定的key

    dic1 = {10: 100, 'a': 100, (1, 2): 100}
    print('a' in dic1)
    True
    

    3)len ----键值对的个数
    4)dict
    能转换成字典的数据要求:数据本身是序列,序列中的每个元素也是序列,而且也是长度为2的序列,并且序列中第一个元素不可变。

    dic1 = {10: 100, 'a': 100, (1, 2): 100}
    print(list(dic1))
    

    7.相关方法
    1)clear
    字典.clear() -----清空字典
    2)copy
    字典.copy() --拷贝字典中的键值对产生一个新的字典

    a = {'1':4}
    b = a.copy()
    a['2'] = 0
    print(a,b)
    {'1': 4, '2': 0} {'1': 4}
    

    3)fromkeys
    dict.fromkeys(序列,值) ---创建一个新的字典,字典的key是序列的元素,key对应的value是指

    new_dict = dict.fromkeys('hello',90)
    print(new_dict)
    {'h': 90, 'e': 90, 'l': 90, 'o': 90}
    

    4)keys, valus, items
    字典.keys() ---获取字典中所有的key,结果是一个序列
    字典.values() ---获取字典中的所有的value,结果是一个序列
    字典.items() ---同时获取字典中的key和valu,key和valu以元祖的形式返回

    dic1 = {10: 100, 'a': 100, (1, 2): 100}
    print(dic1.keys())
    print(dic1.values()) 
    print(dic1.items())        
    
    dict_keys([10, 'a', (1, 2)])
    dict_values([100, 100, 100])
    dict_items([(10, 100), ('a', 100), ((1, 2), 100)])
    

    5)setdefault
    字典.setdefault(key,value) ---添加键值对(如果已经存在则不改变原字典)

    dic1 = {10: 100, 'a': 100, (1, 2): 100}
    dic1.setdefault('tel',101)
    print(dic1)
    
    {10: 100, 'a': 100, (1, 2): 100, 'tel': 101}
    

    6)update
    字典1.update(字典2) ---使用字典2中的键值对取更新字典1;不存在添加,存在更新

    dict1 = {'a': 1, 'b': 2, 'c': 3}
    dict2 = {'b': 200, 'd': 300, 'e': 400}
    dict1.update(dict2)
    print(dict1)
    
    {'a': 1, 'b': 200, 'c': 3, 'd': 300, 'e': 400}
    

    3.集合

    1.什么是集合(set)
    容器型数据类型(序列),可变、无序
    2.集合中的元素
    {元素1,元素2,元素3....}
    元素:不可变数据、唯一(自带去重功能)
    注意: 空集合 = set() {}大括号不表示空集合

    set1 = {}
    set2 = {1, 'abc', (1, 2), True}
    print(set2)
    
    {(1, 2), 1, 'abc'}
    
    s = 'affoajagjohufakmgiaogmiaf'
    print(''.join(set(s)))
    
    ghaimoufkj
    

    3.元素相关的操作
    1)查
    集合不能单独获取指定的某一个元素,只支持遍历

    set4 = {12,34,56,2,7,88}
    for i in set4:
        print(i,end=' ')
    
    34 2 7 12 56 88 
    

    2)增
    集合.add(元素) ------往集合中添加一个元素
    集合.update(序列) ----将序列中的元素添加到集合(自带去重)

    set2 = {2}
    set2.add(199)
    print(set2)
    set2.update('ab',{'2':1})
    print(set2)
    
    {2, 199}
    {'2', 2, 'a', 199, 'b'}
    

    3)删
    集合.remove(元素) ----删除集合中指定的元素

    set2 = {'2', 2, 'a', 199, 'b'}
    set2.remove('a')
    print(set2)
    
    {2, 199, '2', 'b'}
    
    (*)4数学集合运算

    1)并集: |

    set1 = {1,2,3,4,5,6}
    set2 = {4,5,6,7,8}
    print(set1 | set2)
    
    {1, 2, 3, 4, 5, 6, 7, 8}
    

    2)交集:& ---求两个集合公共的部分

    print(set2 & set1)
    

    3)差集:-
    集合1 - 集合2 ----获取集合1中除了集合2以外的部分

     print(set1 - set2)
    

    4)补集:集合1 ^ 集合2
    求两个集合中除了公共部分以外的部分
    5)包含关系
    集合1 >= 集合2 ---集合1中是否包含集合2
    集合1 <=集合2 ---集合2中是否包含集合1

    print({1,2,3,4} >= {1,2})
    

    相关文章

      网友评论

          本文标题:2019-04-24总结

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