• python内置数据类型


    str.split(sep=None, maxsplit=-1) 分割字符串。sep指定分隔符;maxsplit指定分割次数,默认全部拆分,给定则最多有maxsplit+1个元素。返回列表

    str.strip([chars]) 最外侧的前导和末尾 chars 参数值将从字符串中移除。返回字符串

    str.replace(old,new)

    str.count()               统计元素个数

    str.find()  str.index() 返回索引

    str.join(iterable)   iterable是一个可迭代对象,迭代着插入,可以是列表,但是所有元素都要是字符串。str作为iterable的分隔,返回字符串。

    str.format()             格式化输出。 {}可以指定index和关键字

    str.isalnum()     判断是否由字母和数字组成

    str.isalpha()      判断是否只由字母组成

    str.isdecimal()     判断是否由十进制数组成

    str.title()

    str.capitalize()       首字母大写

    str.swapcase()    大小写转换,大写变小写,小写变大写

    str.upper() str.lower() 

    str == str[::-1]     切片判断回文

    tuple:(不可变序列)  

    'a','b'        会将这种视为元组

    type((a))  单个元素不是元组,是str

    type((a,))

    元组拆包赋值  k,v=('one', 1)

    tuple.index()

    tuple.count()

    tuple[0]

    拼接

    list:(循环一个列表时最好不要改变列表大小,倒序删除

    list.append()

    list.insert(i, x) 指定位置i处插入元素x

    list.extend()   迭代着追加,扩展到列表里面,而不是整体添加(注意和append的区别)

    list.pop()        指定位置删除,返回这个元素;默认删除最后一个

    list.remove()  指定元素删除;有重复元素则默认删除左起第一个

    list.clear()      删除整个列表元素

    del list[i]         无返回值  删除列表中的偶数位置元素del list[1::2]、从后往前删、取出来

    list.sort()        排序,无返回值

    list.reverse()  翻转,无返回值

    list.index()     找出第一个匹配项的索引

    list.count() 

    # reversed() 和 list.reverse() 的区别
    # reversed 返回一个反转的迭代器,可以反转 str、tuple、range、list
    # list.reverse 没有返回值,在原 list 上直接反转
    for i in reversed('123'):
        print(i)
    a=[1,2,3]
    a.reverse()
    print(a)
    
    # sorted() 和 list.sort() 的区别
    # sorted(iterable, cmp=None, key=None, reverse=False)
    # sorted 返回一个排好序的列表 cmp为比较函数、reverse=False默认升序
    # list.sort 没有返回值
    print(sorted('1432930'))
    a=[3,2,1]
    a.reverse()
    print(a)

    dict:(存储在散列表中,键必须是可散列的;循环字典时,不能改变字典大小)

    key必须是不可变数据类型(int,str,bool, tuple等),且唯一

    创建dict

    1.dict((('one',1),('two',2),('three',3)))

    2.dict({'one':1,'two':2,'three':3})

    3.dict(one=1,two=2,three=3)

    4.dict(zip(['one','two','three'],[1,2,3]))

    5.{k:v for k, v in [('one',1),('two',2),('three',3)]}

    dict.fromkeys(it, [initial]) # 将迭代器it里面的作为键,将initial里面的作为值(如果没有的话设置为None)

    dict['four']=4

    dict.setdefault('four',4) 会返回键对应的值

    dict.setdefault('one',2) 有此键则不会改变

    dict.update(five=5) 

    dict.pop('one') 返回键对应的值,然后移除键值对

    dict.popitem() 以元组的形式随机返回键值对

    dict.clear()

    del dict['one']

    dict.update(four=4)

    dict.update([( ),( ),( )])

    dict.update({' ':' '})

    dict.get(k, [default]) 返回键对应的值,如果没有该键则返回default

    dict.keys()  

    dict.values()

    dict.items()  可用于对字典遍历输出key和value;for k,v in dict.items()  循环遍历返回键和值组成的元组

    # 注意返回值类型,并不是返回一个列表,不过可以用list取值
    dic = {'a':1, 'b':[1,2,3]}
    print(dic.values())   # dict_values([1, [1, 2, 3]])
    print(type(dic.values()))  # <class 'dict_values'>
    print(type(dic.keys()))   # <class 'dict_keys'>

     获取第一个值对应的键

    a = {3: 1, 4: 1, 5: 2, 6: 9}
    # 获取值1对应的第一个键
    b = list(a.keys())[list(a.values()).index(1)] 
    print(b)  # 3

    set:(无序,不支持索引、切片;里面的元素要求不可变(必须是可散列的),但是集合又可变)

    用于列表去重

    数据集关系测试:并集、交集、差集    |  &  ^

    判断是否为子集:s<=z(子集)    s<z(真子集)

    创建set

    set({1,2,3}) 空集合要用set 

    {1,2,'a'}

    set.add()

    set.update() 迭代着增加

    set.remove(e)  没有的话会报错

    set.pop()          有返回值

    set.clear()

    set.discard(e)  有的话移除,没有话也不会报错

    计算机的数据结构

    1.队列(先进先出)

    2.栈(后进先出)

    自定义队列和栈

    class Foo:
        def __init__(self):
            self.lst=[]
        def put(self,x):
            self.lst.append(x)
        def get(self):
            if len(self.lst)==0:
                return None
            else:
                return self.lst.pop() if self.index else self.lst.pop(0)
    
    class Queue(Foo): # 先进先出
        def __init__(self):
            self.index=0
            Foo.__init__(self)
    
    class Stake(Foo):  # 后进先出
        def __init__(self):
            self.index=1
            Foo.__init__(self)

    queue

    from queue import Queue, Empty
    from queue import LifoQueue     # 先进后出
    from queue import PriorityQueue # 优先级队列
    
    q=Queue(maxsize=3)
    try:
        q.get_nowait()        # 可进行异常处理
        # q.get()
    except Empty: pass        # 不是内置的错误类型
    
    q=PriorityQueue()
    q.put(('a', '97'))
    q.put(('0', '48'))
    q.put(('A', '65'))
    for i in range(3):
        print(q.get())
    '''
    ('0', '48')
    ('A', '65')
    ('a', '97')
    '''

    内置数据类型:int、float、bool、complex

  • 相关阅读:
    [TC_SRM_466]DrawingBlackCrosses
    [POJ3254]Corn Fields
    [openjudge6043]哆啦A梦的时光机
    网络流 24 题汇总(LOJ 上只有 22 题???)
    Xadmin组件的url设计
    《今日简史》一、旧故事已然崩坏,新故事尚未构建
    《人类简史》二、认知革命——上帝之手的秘密
    ORM复习
    无拘无束的爱情
    使用代理导致IE host被修改问题的解决方案
  • 原文地址:https://www.cnblogs.com/pineapple-chicken/p/13227444.html
Copyright © 2020-2023  润新知