リストの中に文字と数字をセットで入れたい

[code]

    date
    >a
    12345
    12345
    1234
    
    >b
    12345
    1234
    
    >c
    12345
    12
    
    x = []
    A = []
    
    with open("date") as f:
        for line in f:
         new_line = line
         len_count = len(new_line)
    
         if new_line.startswith(">"):
             print(new_line)
             A = ""
             x.append(new.line)
    
         else:
             A += new_line
    
         if new_len == 0:
             print(len(A))
             x.append(len(A))
             A = ""
    
[/code]

このように＞を認識したらprint  
そうでない場合はAに数字を格納していき  
空行を認識した時にAに貯まった数字の文字数をprint  
それとは別にxに[(a,14),(b,9),(c,7)]と追加していきたいです。  
目的としては最終的に最大値をとる文字を見つけるためです

理想の結果としては

[code]

    a
    14
    
    b
    9
    
    c
    7
    
    max a:14
    min c:7
    
[/code]

です。maxとminをxのリストの中からmax/minで探したいと考えています。




[以前の回答](https://ja.stackoverflow.com/a/51758)を多少変更してもよさそうです。

[code]

    import re
    
    with open("date") as f:
      assoc = {}
      for p in f.read().split("\n\n"):
        if not re.match('^>', p): continue
        arr = p.split("\n")
        assoc[arr[0][1:]] = sum(map(len, arr[1:]))
    
      print(assoc)
      sa = sorted(assoc.items(), key=lambda x: x[1])
      print('max {}:{}'.format(sa[-1][0], sa[-1][1]))
      print('min {}:{}'.format(sa[0][0], sa[0][1]))
    
    # {'a': 14, 'b': 9, 'c': 7}
    # max a:14
    # min c:7
    
[/code]

