网站统计分析,龙岗网站关键词优化代理,建设网站的提成是多少,国内网站建设排名在python中#xff0c;包括我们之前已经讲过列表、元组及字符串的一些用法了#xff0c;大家应该可以感觉到#xff0c;这三种“数据类型”还是有很多相同之处的#xff0c;所以python中也可以轻易的实现三种类型之间的转换#xff0c;当然本篇文章还会补充和它们相关的一… 在python中包括我们之前已经讲过列表、元组及字符串的一些用法了大家应该可以感觉到这三种“数据类型”还是有很多相同之处的所以python中也可以轻易的实现三种类型之间的转换当然本篇文章还会补充和它们相关的一些方法。8.1 转换为列表方法–list()list这个单词我们在讲列表的时候已经很熟悉了因为定义一个列表时经常是list1 [1, 2, 3, 4, 5]list2 [6, 7, 8, 9 ,10]建立一个空列表时也是a list()print(a)结果[]所以给列表起名为“list1”、“list2”不是没理由的但是在这里list()又变成了一种方法他的作用是可以将一个“可迭代对象”转换为列表关于迭代我在一本书上看到了一个比较好理解的说法所谓迭代就是重复反馈的过程其目的通常是为了接近并达到所需的结果。每一次对过程的重复就是一次“迭代”而每一次迭代得到的结果都会被用来作为下一次的初始值进行下一次“迭代”所以迭代一般都是反复重复的过程当然for循环也是一种迭代。当list()内没有参数时就是建立一个空列表如果在里面加一个“字符串”参数呢我们试一下a HopesLib list(a)print(b)结果[H, o, p, e, s, L, i]是不是很神奇通过list()方法可以直接将字符串的每一个字符拆分开然后按照顺序排列在列表里要知道这种操作在C语言里可没这么简单所以这个list()方法一定要记住。8.2 转换为元组方法–tuple()上面我们讲了讲“可迭代对象”转换为列表的方法–list(),那这里转换为元组的方法其实也大相径庭我们也肯定知道定义一个空元组的方式a tuple()print(a)结果()所以同样可以使用tuple()来将一个“字符串”转换为元组a HopesLib tuple(a)print(b)结果(H, o, p, e, s, L, i)所以轻易可以看出来tuple()和list()的转换效果基本是一样的。8.3 转换为字符串方法–str()说到str()我们肯定能想到int()、float()等强制类型转换的用法当然list()和tuple()感觉也是一种强制类型转换那这里我们类比一下既然a list() 和 b tuple()分别是定义一个空列表和一个空元组那么c str()是不是就代表定义一个“空字符串”这个说法还挺新奇当然我们可以试一下到底对不对a str()print(a)print(type(a))结果 #注意这里是有输出的class str可以看出来确实和我们想的一样c str()确实是定义了一个“空字符串”但是这样并没有啥意义所以就鲜有人提起那么同样的我们是不是也可以把字符串或元组转换为字符串呢同样我们也进行尝试a [1,2,3]b str(a)print(b)print(type(b))结果[1, 2, 3]class str我们这里可能会有个大大的问号显然通过type获得的数据类型为“字符串”类型是可以理解的但是为啥输出结果还是“[1,2,3]”呢不妨我们把当前的“b”再转换回列表试试a [1,2,3]b str(a)print(b)c list(b)print(c)结果[1, 2, 3][[, 1, ,, , 2, ,, , 3, ]]怎么样是不是可以理解了上面输出的“[1,2,3]”其实把每一个符号或数字都变成了字符串中的字符当我们再将它转换回列表后就能发现每一个符号和数字都被当成了一个列表中的“元素”好好理解一下。8.4 取最大值方法–max()max()方法的作用是返回一个列表或者元组等集合中的最大值当然max()内的参数可以是列表、元组也可以是某些数的集合非常简单举例说明a [2, 4, 7, 4, 5]print(max(a))b (3, 8, 9, 2, 4)print(max(b))print(max(4, 8, 9))结果799结果很明显我们不再赘述。8.5 取最小值方法–min()min()方法的作用就很明显了返回一个列表或者元组等集合中的最小值用法和max()方法一样直接举例说明a [2, 4, 7, 4, 5]print(min(a))b (3, 8, 9, 2, 4)print(min(b))print(min(4, 8, 9))结果224同样用法非常简单但是会不会有人想问如果是不同类型的参数进行比较结果会是怎样。我们不妨试一试a [1, hopes, 4, li]print(min(a))结果Traceback (most recent call last): File test.py, line 2, in module print(min(a))TypeError: not supported between instances of str and int结果给我们的错误信息很明显“not supported between instances of ‘str’ and ‘int’”这代表str和int类型的数据不能够相互比较也就代表不管是max()还是min(),它们都只能进行相同数据类型的比较。8.6 获得参数长度方法–len()len()方法用于返回给定参数的长度比如str1 HopesLiprint(len(str1))list1 [1,2,3]print(len(list1))tuple1 (2,3,4,5)print(len(tuple1))结果734同样用法非常明显。8.7 求和方法–sum()sum()用于返回参数的总和参数可以为列表、元组以及集合等但是既然是可以相加的方法那么不管是列表、元组还是集合内的元素都需要为可加的数字类型同样举例说明a [1,3,4]print(sum(a))print(sum(a,5))结果813当然如果我们尝试把字符串类型加入进行求和呢a [1,3,4,hopes]print(sum(a))结果Traceback (most recent call last): File test.py, line 2, in module print(sum(a))TypeError: unsupported operand type(s) for : int and str错误信息提示“unsupported operand type(s) for : ‘int’ and ‘str’”不能够将int类型和str类型进行相加(其实都不用试这是肯定的)。8.8 排序方法sorted()sorted()方法用于返回一个排序好的列表或元组但只能是一个参数不能把一些数的集合当作参数举例说明a (2,5,3)print(sorted(a))结果[2, 3, 5]看到这个结果发现问题了没有我明明定义的a是一个元组但是为什么排序输出后是一个列表没错这确实是sortes()和sort()方法的区别sort()是直接原地排序但是sorted()却是返回一个排序好的“新列表”也就是说sorted()方法在执行后后自己分配一个内存空间用来存储排序好的新列表。那接下来我们试一下使用sorted()方法排序多个数字组成的集合会是怎样print(sorted(3,5,2))结果Traceback (most recent call last): File test.py, line 2, in module print(sorted(3,5,2))TypeError: sorted expected 1 argument, got 3错误信息提示我们“sorted expected 1 argument, got 3”只能传入1个参数但我们却给了3个所以我们这里确定排序只能传入一个参数可以是列表、元组等。8.9 生成二元组方法enumerate()enumerate()方法用于生成一个由二元组组成的迭代对象注意这里返回的是一个迭代对象迭代对象是啥样的我们试一下str1 hopesprint(enumerate(str1))结果如上迭代对象貌似只是一个“代号”我们从中好像并不能直接获取什么信息所以迭代对象我们需要通过for循环将其进行遍历str1 hopesprint(enumerate(str1))for i in enumerate(str1): print(i)结果object at 0x10f30c840(0, h)(1, o)(2, p)(3, e)(4, s)看吧我们通过enumerate()方法将str1的所有字符拆分并且以二元组的形式显示出来了并且我们也明白了一件事迭代对象需要使用for循环进行“拆包”。