• 《零基础入门学习Python》学习过程笔记【016列表,元组,字符串的转化及共用技巧】


    注:列表,元组,字符串之间可以互相转换,方法类似强制类型转换

    列表:list   元组:tuple   字符串str

    列表,元组,字符串统称为序列

    1.如何将字符串转化为列表,元组?

    >>> a="123abc"

    >>> b=tuple(a)
    >>> b
    ('1', '2', '3', 'a', 'b', 'c')
    >>> c=list(a)
    >>> c
    ['1', '2', '3', 'a', 'b', 'c']



    2.如何将列表转化为元组,字符串?

    >>> a=[1,2,3,'a','b','c']
    >>> b=str(a)
    >>> b
    "[1, 2, 3, 'a', 'b', 'c']"  
    >>> c=tuple(a)
    >>> c
    (1, 2, 3, 'a', 'b', 'c')



    3如何将元组转化为列表,字符串?

    >>> a=(1,2,3,'a','b','c')
    >>> b=str(a)
    >>> b
    "(1, 2, 3, 'a', 'b', 'c')"
    >>> c=list(a)
    >>> c
    [1, 2, 3, 'a', 'b', 'c']



    4.len()方法可以用于字符串?列表?元组? 答案是YES

    >>> a="123abc"
    >>> len(a)
    6
    >>> b=list(a)
    >>> b
    ['1', '2', '3', 'a', 'b', 'c']
    >>> len(b)
    6
    >>> c=tuple(a)
    >>> c
    ('1', '2', '3', 'a', 'b', 'c')
    >>> len(c)
    6



    5.max()可以返回列表,元组,字符串中的最大值?(答案是YES,规则是ASCII码)

    注:max()只能用于类型相同的列表,元组,因为字符串的类型就是字符串...所以这里不用考虑字符串

    >>> a
    '123abc'
    >>> max(a)
    'c'
    >>> b
    ['1', '2', '3', 'a', 'b', 'c']
    >>> max(b)
    'c'
    >>> c
    ('1', '2', '3', 'a', 'b', 'c')
    >>> max(c)
    'c'
    >>> d="123456789"
    >>> max(d)
    '9'
    >>> e=[1,23,45,677,89]
    >>> max(e)
    677



    6.min()返回列表,元组,字符串的最小值?(答案是肯定的)

    注:max()只能用于类型相同的列表,元组,因为字符串的类型就是字符串...所以这里不用考虑字符串

    >>> a="1234567890"
    >>> min(a)
    '0'
    >>> b=[1,2,3,343,4,6565,87,34]
    >>> min(b)
    1
    >>> c=(1,2,3,4)
    >>> min(c)
    1



    7.sum()可用于对列表,元组内元素求和?(YES)

    注:列表元组内的元素只能为整数或小数,字符串内的东西为字符串类型所以该方法不能英语字符串

    >>> a=[1.1,2.2,3.3,4.4]
    >>> sum(a)

    11.0

    >>> b=(1,2,3,4,1.2)

    >>> sum(b)
    11.2



    8.非list对象内部函数的sort方法:sorted()  

    注:sorted可以用于列表,元组,字符串,但得到的结果都是一个列表

    注:只有list类的对象有sort方法,元组,字符串都没有这个方法

    >>> a="433873840234"
    >>> sorted(a)
    ['0', '2', '3', '3', '3', '3', '4', '4', '4', '7', '8', '8']
    >>> b={7,6,5,4,3,2,1,0}
    >>> sorted(b)
    [0, 1, 2, 3, 4, 5, 6, 7]
    >>> c=(2,3,4,5,6,2)
    >>> sorted(c)
    [2, 2, 3, 4, 5, 6]
    >>> tuple(sorted(c))
    (2, 2, 3, 4, 5, 6)



    9.非list类对象的reversed()方法 该方法返回的是一个迭代器..要想得到list,tuple或str类型(str尽管用了强制转换也不管用),都需要运用强制类型转换

    注:reversed()可以用于str(达不到效果),tuple,list类型的对象

    但是只有list类的对象中有reverse()方法

    >>> a
    (1, 2, 3, 4)
    >>> reversed(a)
    <reversed object at 0x039770B0>
    >>> tuple(reversed(a))
    (4, 3, 2, 1)


    >>> b='1234'
    >>> reversed(b)
    <reversed object at 0x03969D70>
    >>> str(reversed(b))
    '<reversed object at 0x03977150>'


    >>> b=[1,2,3,4]
    >>> reversed(b)

    <list_reverseiterator object at 0x039770B0>

    >>> list(reversed(b))
    [4, 3, 2, 1]



    10如何将列表或者元组写成另外一个列表或元组,该列表或元组,中每个元组为(索引,值)的类型? enumerate()

    注:该方法对于字符串无效

    >>> a=['a','b','c']
    >>> enumerate(a)
    <enumerate object at 0x039636C0>
    >>> list(enumerate(a))
    [(0, 'a'), (1, 'b'), (2, 'c')]


    >>> b=('a','b','c')
    >>> enumerate(b)
    <enumerate object at 0x039636C0>
    >>> tuple(enumerate(b))
    ((0, 'a'), (1, 'b'), (2, 'c'))


    11.如何将两个列表或两个元组,或一个列表一个元组整个在一起,生成一个列表或元组(强制转换烈性决定),该列表或元组中的每个元组都是(第一个列表中的元组,第二个列表中的元素)的类型? zip(第一个集合的名字,第二个集合的名字)

    >>> a=[1,2,3]
    >>> b=['a','b','c']
    >>> zip(a,b)
    <zip object at 0x039638A0>
    >>> list(zip(a,b))
    [(1, 'a'), (2, 'b'), (3, 'c')]

    >>> tuple(zip(a,b))
    ((1, 'a'), (2, 'b'), (3, 'c'))


    >>> c=(1,2,3)
    >>> d=('a','b','c')

    >>> tuple(zip(c,d))
    ((1, 'a'), (2, 'b'), (3, 'c'))
    >>> list(zip(c,d))
    [(1, 'a'), (2, 'b'), (3, 'c')]


    >>> list(zip(a,c))
    [(1, 1), (2, 2), (3, 3)]


    特殊的,当两个集合内元素个数不同时:(会将前面的整合在一起)

    >>> list1=[1,2,3]
    >>> list2=['a','b','c','d']
    >>> list(zip(list1,list2))
    [(1, 'a'), (2, 'b'), (3, 'c')]





  • 相关阅读:
    .Net魔法堂:史上最全的ActiveX开发教程——发布篇
    .Net魔法堂:史上最全的ActiveX开发教程——开发篇
    JS魔法堂:浏览器模式和文档模式怎么玩?
    JS魔法堂:精确判断IE的文档模式by特征嗅探
    JS魔法堂:追忆那些原始的选择器
    意译:自调用函数表达式
    一起Polyfill系列:让Date识别ISO 8601日期时间格式
    一起Polyfill系列:Function.prototype.bind的四个阶段
    poco 线程库
    CDN理解<转>
  • 原文地址:https://www.cnblogs.com/iamjuruo/p/7470908.html
Copyright © 2020-2023  润新知