美文网首页
2021-03-05二级学习

2021-03-05二级学习

作者: Cipolee | 来源:发表于2021-03-05 16:46 被阅读0次
    • 切片的进一步了解
      step表示步长,也表示方向
      li[k::-1]表示从倒数第k个倒着切片到第1个
      li[:k:-1]表示从倒数第一个切片到第k个


      前k逆转拼接k后逆转,再总的逆转
    def revolution_reverse(li,k):
        return li[k:]+li[:k]
    

    简单实现方式,可以找到结果的规律,每步细节可以不实现

    列表删除特定元素可以使用列表推导式+if语句

    • split()返回列表,且split字符的两端会产生“”,“”
    • 关于python字符串re的学习,正则表达式
    1. compile产生正则表达式对象
      match函数,匹配函数
      re.match(pattern,string,flags=0)

    正则表达式关键点是先通过re.compile(正则表达式)生成一个正则对象

    正则表达式可以是raw string原始字符串所以可以加上r

    #简单的正则表达式实例
    import re
    t=re.compile('\d+')
    print(t.findall('123sdfg123 3'))
    
    结果

    正则语法实例

    pta二级题

    得到“答案正确”的条件是:
    1.字符串中必须仅有 P、 A、 T这三种字符,不可以包含其它字符;
    2.任意形如 xPATx 的字符串都可以获得“答案正确”,其中 x 或者是空字符串,或者是仅由字母 A 组成的字符串;
    3.如果 aPbTc 是正确的,那么 aPbATca 也是正确的,其中 a、 b、 c 均或者是空字符串,或者是仅由字母 A 组成的字符串。

    【推导类的题】以结果规律为导向,第三步可以列出推导式
    即使用P和T分割后前面和后面和中间的关系是

    list_str[0]*len(list_str[1])==list_str[2]

    import re
    s=int(input())
    for i in range(s):
        str=input()
        #从头匹配
        regu=re.compile('A*PA+TA*')
        #'*'表示匹配前一个字符重复 0 次到无限次,'+'表示匹配前一个字符重复 1次到无限次
        if regu.match(str):
            a=re.split('[P|T]',str)
            if a[0]*len(a[1])==a[2]:
                print("YES")
            else:
                print("NO")
        else:
            print("NO")
    

    使用模型的流程and理解batch

    关于cat拼接函数

    'inputs为2个形状为[2 , 3]的矩阵 '
    inputs = [x1, x2]
    print(inputs)
    '打印查看'
    [tensor([[11, 21, 31],
             [21, 31, 41]], dtype=torch.int32),
     tensor([[12, 22, 32],
             [22, 32, 42]], dtype=torch.int32)]
    #---------------------------------------------
    In    [1]: torch.cat(inputs, dim=0).shape
    Out[1]: torch.Size([4,  3])
    
    In    [2]: torch.cat(inputs, dim=1).shape
    Out[2]: torch.Size([2, 6])
    
    In    [3]: torch.cat(inputs, dim=2).shape
    IndexError: Dimension out of range (expected to be in range of [-2, 1], but got 2)
    #------------------------------------------
    In    [1]: torch.cat(inputs, dim=0).shape
    Out[1]: torch.Size([4,  3])
    
    In    [2]: torch.cat(inputs, dim=1).shape
    Out[2]: torch.Size([2, 6])
    
    In    [3]: torch.cat(inputs, dim=2).shape
    IndexError: Dimension out of range (expected to be in range of [-2, 1], but got 2)
    
    

    正则表达式re.findall(正则对象,字符串)
    正则对象在compile时应该善于应用()来控制界限,并使用“?:”来使其不返回到匹配到的列表里
    关于单独的?,贪婪匹配是尽可能的向右查找,只到右边无法满足,尤其在前端中有着比较重要的作用,如<div>.</div>和<div>.?</div>后面的是找一个div标签里的内容

    pycharm规范代码 ctrl+alt+L规范代码开发

    题意
    this_input = input()
    a, da, b, db = this_input.split(' ')
    pa, pb = "", ""
    for i in a:
        if i == da:
            pa += i
    
    for i in b:
        if i == db:
            pb += i
    pb = '0' if pb == "" else pb
    pa = '0' if pa == "" else pa
    print(int(pa) + int(pb))
    
    

    知识点:

    1. split量在末尾时会出现“”,不在末尾则不出现
    2. if和else的赋值写法 p=() if() else()

    相关文章

      网友评论

          本文标题:2021-03-05二级学习

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