|
|
发表于 2023-5-4 20:24:44
|
显示全部楼层
1. 是的,小甲鱼推荐避免使用 + 连接符拼接字符串,因为它会产生新的字符串对象,对内存和性能不友好。但在这个例子里,为了简洁和方便,我们仍然使用了 + 连接符。实际上,可以使用更高效的方式,如 ''.join() 或者使用 f-string(Python 3.6+)来实现。
2. 正确理解列表推导式:
(1) slogan[2:] 的确表示去除序号和点后的内容。在这里, slogan 是字符串,而不是列表,所以它表示的是从字符串的第3个字符(索引为2)开始,一直到字符串末尾的所有字符。
(2) slogan[0] 和 name[0] 是字符串slogan和name中的第一个字符,也就是序号。这里是通过字符串的索引访问特定位置的字符。
(3)是的, slogan[0] == name[0] 是为了在 list1 和 list2 之间通过序号建立一一对应的关联关系。
3. 结果按照 1-4 的顺序排列,是因为推导式的for循环按照列表的顺序进行。首先它遍历 list1,然后针对每个 list1 的元素,它遍历 list2。这样,当找到相应序号匹配的 name 和 slogan 时,它会按照 list1 的顺序来创建 list3。由于 list1 的元素是按照 1-4 的顺序排列的,所以 list3 中的元素也会按照相应的顺序排列。 |
|