Python150题day05

⑤合并字符串

str1=“1,2,3”

str2=“4,5,6”

请将str1合并到str2的末尾,并思考这个过程中,是否产生了新的字符串

解答:

str1 += str2

这个过程中,产生的新的字符串,字符串是不可变对象,从字面意义上理解,似乎str1的内容发生变化了, 但本质上是产生了新的字符串并赋值给str1,print(str1),合并前后的内存地址是不一样的。

⑥统计练习

lst = [2,5,6,7,8,9,2,9,9]

请写程序完成下列题目:

1.找出列表里的最大值

2.找出列表里的最小值

3.找出列表里最大值的个数

4.计算列表里所有元素的和

5.计算列表里元素的平均值

6.计算列表的长度

7.找出元素6在列表中的索引

解答:

1. max(lst)

2. min(lst)

3. lst.count(max(lst))

4. sum(lst)

5. sum(lst)/float(len(lst))

6. len(lst)

7. lst.index(6)

第五题解析:

  • sum(lst):这个部分是用来计算列表 lst 中所有元素的总和。
  • len(lst):这个部分是用来计算列表 lst 的长度,即列表中元素的个数。
  • float(len(lst)):这个部分是将列表的长度转换为浮点数类型,以确保在进行除法运算时得到的结果是浮点数。
  • sum(lst)/float(len(lst)):这个部分将列表的总和除以列表的长度,得到的结果就是列表元素的平均值。

这部分题考察的是对内置函数的理解和应用

下面的题目不写代码,仅凭思考来回答

1.lst[2:4]的值是什么

2.lst[1: -3]的值是什么

3.lst[-5]的值是什么

4.lst[:-4] 的值是什么

5.lst[-4:] 的值是什么

解答:

1. [6, 7]

2. [5, 6, 7, 8, 9]

3. 8

4. [2, 5, 6, 7, 8]

5. [9, 2, 9, 9]

列表的切片操作,一定要记住左闭右开

注意第三和第四个的区别,少一个符号的区别很大

⑦列表操作练习

lst = [2, 5, 6, 7, 8, 9, 2, 9, 9]

请写程序完成下列题目:

请写程序完成下列操作
1.在列表的未尾增加元素15
2.在列表的中间位置插入元素20

3.将列表[2,5,6]合并到Ist中
4.移除列表中索引为3的元素
5.翻转列表里的所有元素
6.对列表里的元素进行排序,从小到大一次,从大到小一次

解答:

1. lst.append(15)

2. lst.insert(len(lst)//2, 20)

3. lst.extend([2, 5, 6])

4. lst.remove(lst[3])

5. lst = lst[::-1]

6. lst.sort()  lst.sort(reverse=True)

第二题解析:

len(lst)//2 表示列表 lst 的长度除以2,即中间位置的索引。然后,lst.insert() 方法用于在指定的索引位置插入一个元素,这里的索引位置是中间位置,元素是 20。这样,执行完这段代码后,列表 lst 中就会在中间位置插入一个元素 20。

第五题解析:

lst[::-1] 是 Python 中的切片操作,用于创建一个与原列表 lst 具有相同元素但顺序相反的新列表。具体来说:

  • [::-1]:这部分表示切片操作,其中的 :: 表示从列表的起始位置到结束位置,而 -1 表示步长为 -1,即逆序遍历列表。

通过将列表 lst 进行切片操作 [::-1],代码将创建一个新的列表,其中的元素顺序与原列表 lst 相反。

例如,如果原列表 lst 是 [1, 2, 3, 4, 5],那么 lst[::-1] 将返回一个新的列表 [5, 4, 3, 2, 1],即原列表的逆序。

所以,lst = lst[::-1] 这段代码的作用是将列表 lst 中的元素顺序反转,并将结果保存回原列表 lst 中。

第六题解析:

lst.sort() 是一个用于列表排序的方法。它会按照默认的升序方式对列表进行排序。例如,如果列表 lst 是 [3, 1, 2],那么调用 lst.sort() 之后,列表 lst 将变为 [1, 2, 3]

lst.sort(reverse=True) 是对列表进行降序排序的方法。它会按照降序的方式对列表进行排序。例如,如果列表 lst 是 [3, 1, 2],那么调用 lst.sort(reverse=True) 之后,列表 lst 将变为 [3, 2, 1]

需要注意的是,这两个方法会直接修改原始列表,而不会返回一个新的排序后的列表。如果你想要获得一个新的排序后的列表,可以使用 sorted() 函数。例如,sorted_lst = sorted(lst) 会返回一个新的已排序列表,而不会修改原始列表 lst

⑧复杂列表练习

lst = [1, 4, 5, [1, 3, 5, 6, [8, 9, 10, 12]]]

不写代码,仅凭思考来回答

1.列表Ist的长度是多少
2.列表Ist中有几个元素
3.lst[1] 的数据类型是什么
4.lst[3]的数据类型是什么
5.lst[3][4] 的值是什么
6.如果才能访问到 9 这个值
7.执行lst[3][4].append([5,6])后,列表lst的内容是什么,手写出来
8.lst[-1][-1][-2]的值是什么
9.lst[-2]的值是什么
10.len(lst[-1]) 的值是什么
11.len(lst[-1][-1])的值是什么
12.lst[-1][1:3] 的值是什么
13.lst[-1][-1][1:-2]的值是什么

解答:

第1题和第2题其实是一个意思,原本统计列表里数据个数不是什么难事,可一旦出现了嵌套列表的情况,有人就分不清了,列表里的数据是以逗号分隔的,lst[3] 是一个列表,其余都是int类型数据,因此lst的长度是4
第3题,lst[1] = 4,是int类型数据
第4题,lst[3] 的数据类型是列表
第5题,lst[3]的值是[1,3,5,6,[8,9,10,12]],仍然是一个列表,其索引为4的数据是[8,9,10,12],是列表
第6题,lst[3][4][1]第7题,[1,4,5,[1,3,5,6,[8,9,10,12,[5,6]]]],参考5,6两个题目的解答第8题,Ist[-1]的值是[1,3,5,6,[8,9,10,12]], 再次取索引为-1的数据为[8,9,10,12],取索引为-2的数据为10
第9题,5
第10题,5
第11题,4
第12题,[3,5], lst[-1]的值是[1,3,5,6,[8,9,10,12]]第13题,[9], lst[-1][-1]的值是[8,9,10,12],切片起始位置索引是1,值为9,结束位置是-2,值为10,由于左闭右开,最终结果是[9]

你可能感兴趣的:(Python150题,python)