数据类型练习

三,数据类型

练习

            3.1 将元组(1,2,3) 和集合{"four",5,6}合成一个列表

解题思路:

分别将元组和集合强转为列表,再用列表特有的extend()函数进行扩展

extend():在列表末尾一次性追加另一个序列中的多个值(用新列表扩展原来的列表)


1

输出:

2

            3.2 将列表[3,7,0,5,1,8]中大于5元素置为0,小于5的元素置为1

解题思路:

对列表长度进行遍历,然后在用列表中的元素和5进行比较,并按照条件重新赋值


3

输出:

4

其它方式:

5

通过enumerate() 对索引和值都进行遍历,然后在进行比较

enumerate() 函数用于将一个可遍历的数据对象(如列表、元组或字符串)组合为一个索引序列,同时列出数据和数据下标,一般用在 for 循环当中。

            3.3 将列表["mo","deng","ge"]和[1,2,3] 转换成[("mo",1),("deng",2),("ge",3)]

解题思路:

这道题主要是熟悉对zip()函数的使用

zip() 函数用于将可迭代的对象作为参数,将对象中对应的元素打包成一个个元组,然后返回由这些元组组成的对象,这样做的好处是节约了不少的内存。


6

输出:


7

            3.4 若a = dict(),令 b = a,执行b.update({"x":1}),a亦改变,为何,如何避免

解题思路:

这题如果在b被赋值我的情况下a不改变,则需要涉及到一个知识,那就是深浅拷贝的为题

如果是深拷贝,那么b变a必会变

避免方法:进行浅拷贝 只拷贝父对象,不会拷贝对象的内部的子对象


8

输出:


9

            3.5 将二维结构[['a',1],['b',2]]和(('x',3),('y',4))转换成字典

解题思路:

以为第一个二维结构和第二个,不一致,所以首先先保证一致问题,将其转为tuple,然后这让这两个结构进行相加,最后强转为dict型赋值给一个变量,进行输出


10

输出:


11

你可能感兴趣的:(数据类型练习)