美文网首页
python 字典、列表、字符串 之间的转换

python 字典、列表、字符串 之间的转换

作者: 弦好想断 | 来源:发表于2020-05-13 12:44 被阅读0次

    https://www.cnblogs.com/who-care/p/9306800.html

    将一个字符串形式的列表转换成列表

    s = "['a','b','c']"
    l = eval(s)
    print(l)
    ['a','b','c'']
    Out:
    [('运动', '-'), ('运动', '-'), ('运动', '-'), ('运动', '-'), ('运动', '-'), ('运动', '-'), ('运动', '-'), ('运动', '-'), ('运动', 'ECO'), ('运动', 'ECO'), ('运动', 'ECO')]
    

    列表降维并横向合并

    a = [['运动', '运动', '运动', '运动', '运动', '运动', '运动', '运动', '运动', '运动', '运动']
    , ['-', '-', '-', '-', '-', '-', '-', '-', 'ECO', 'ECO', 'ECO']]
    print(list(zip(*a)))
    [('运动', '-'), ('运动', '-'), ('运动', '-'), ('运动', '-'), ('运动', '-'), ('运动', '-'), ('运动', '-'), ('运动', '-'), ('运动', 'ECO'), ('运动', 'ECO'), ('运动', 'ECO')]
    
    

    python分割列表(list)

    #1.分割大列表为三个元素的小列表,不够三个元素的亦当成一个列表输出
    In [17]: lst
    Out[17]: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
    In [18]: for i in range(0,len(lst),3):
      ...:   print lst[i:i+3]
      ...:
    [0, 1, 2]
    [3, 4, 5]
    [6, 7, 8]
    [9]
    
    #2.稍微改进下,用了个列表推导,结果都放到一个列表了
    In [35]: lst
    
    Out[35]: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
    In [36]: b = [lst[i:i+3] for i in range(0,len(lst),3)]
    In [37]: b
    Out[37]: [[0, 1, 2], [3, 4, 5], [6, 7, 8], [9]]
    
    #3.不太喜欢的lambda,猛一看不懂,再细看逻辑还是上面的逻辑
    
    In [10]: f = lambda a:map(lambda b:a[b:b+3],range(0,len(a),3))
    In [11]: lst
    Out[11]: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
    
    In [12]: f(lst)
    Out[12]: [[0, 1, 2], [3, 4, 5], [6, 7, 8], [9]]
    
    

    相关文章

      网友评论

          本文标题:python 字典、列表、字符串 之间的转换

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