10. 将list1 的第三个元素修改为两个新元素 13, 14](不是列表中的一个列表,而是将两个新元素插入到指定位置)。
正确答案为:
list1=[1,2,3,4,5,6,7,8]
print(list1)
list1[2:3]=[13,14]
print(list1)
#输出:[1, 2, 13, 14, 4, 5, 6, 7, 8]
我的写法:
list1=[1,2,3,4,5,6,7,8]
print(list1)
list1[2]=[13,14]
print(list1)
#输出:[1, 2, [13, 14], 4, 5, 6, 7, 8]
一个是赋值操作,一个是切片替换
my_list = [3, "apple", 9, "banana", 7, "cherry", 2, "date", 5, "elderberry"]
11. 对列表中的字符串进行排序,并保留数字在原位。
#正确写法
my_list = [3, "apple", 9, "banana", 7, "cherry", 2, "date", 5, "elderberry"]
str_list=[x for x in my_list if isinstance(x,str)]
# 冒泡排序
def bubble_str(str_list):
n=len(str_list)
for i in range(n):
swapped = False
for j in range(0,n-i-1):
if len(str_list[j]) > len(str_list[j+1]):
#交换位置
str_list[j],str_list[j+1]=str_list[j+1],str_list[j]
swapped=True
if not swapped:
break
return str_list
print(str_list)
bubble_str(str_list)
print(str_list)
print(my_list)
result=[]
str_index=0
for x in my_list:
if isinstance(x,str):
result.append(str_list[str_index])
str_index+=1
else:
result.append(x)
print(result)
我的写法:
for x in my_list:
if isinstance(x,str):
lis_index=my_list.index(x)
my_list[lis_index]=str_list[str_index]
str_index+=1
else:
continue
这样有一个问题,
my_list = [3, "apple", 9, "banana", 7, "cherry", 2, "date", 5, "elderberry"]
第一次找到str,"apple"被替换为"date"
变为[3, "date", 9, "banana", 7, "cherry", 2, "date", 5, "elderberry"]
这时候出现了两个"date"
继续循环
for x in my_list: # x="date"
if isinstance(x,str): # True
lis_index=my_list.index(x) # lis_index=1
他查找到的Index是替换过后的"date"
12. 将my_list中的数字替换为它们对应的字符串形式(如1->'one'),不改变列表中原有的字符串。
正确答案:
num_to_str = {
0: 'zero', 1: 'one', 2: 'two', 3: 'three', 4: 'four',
5: 'five', 6: 'six', 7: 'seven', 8: 'eight', 9: 'nine'
}
for x in my_list:
if x in num_to_str:
index=my_list.index(x)
my_list[index]=num_to_str[x]
else:continue
print(my_list)
1. 创建一个列表包含从1到100的所有偶数。
#方法一:
even=[]
for i in range(1,101):
if i%2==0:
even.append(i)
else:continue
print(even)
#方法二:
even=list(range(2,101,2)) #range(2, 101)左闭右开
print(even)
10. 用循环遍历列表,把每个数字替换为其对应的字符形式(例如:1替换为'1')。注意使用不同类型的循环来实现。
a=[1,11,2,22,3,33,1,11,11,22]
for x in a:
result.append(f"{x}")
print(result)
#输出:['1', '11', '2', '22', '3', '33', '1', '11', '11', '22']
15. 使用列表推导式创建一个新列表,包含原列表中每个数字乘以2的结果。
a=[1,11,2,22,3,33,1,11,11,22]
b=[x*2 for x in a]
print(b)
17. 将列表转换为一个字典,其中列表元素作为键,其在列表中的索引作为值。
# 正确答案:
my_list = [1, 2, 'c', 'b']
result = {}
for index,element in enumerate(my_list):
result[element]=index
print(result)
# 我写的:
dict={}
for x in a :
index=a.index(x)
for keys,values in dict:
keys=x
values=index
print(dict)
关于字典的知识点
一、index 和 element 到底是谁的?
它们来自 enumerate(my_list)。
1. enumerate() 函数的作用
它会把列表变成一个 “带编号的列表”,生成的每个元素都由两部分组成:
编号(也就是索引,从 0 开始)
原列表中的值
2. 具体例子
对于列表 my_list = ['a', 'b', 'c', 'b'],enumerate(my_list) 会生成以下内容:
(0, 'a')
(1, 'b')
(2, 'c')
(3, 'b')
- 循环里的赋值
在循环 for index, element in enumerate(my_list): 中:
index 会依次拿到每个元素的编号(0、1、2、3)
element 会依次拿到原列表中的值('a'、'b'、'c'、'b')
二、result[element] = index 是怎么把元素作为键,索引作为值的?
这要从字典的基本操作说起。
- 字典的赋值规则
对于字典 result,result[键] = 值 这种写法的作用是:
把 键 放到字典里
给这个 [键] 关联上对应的 值
19. 从列表中随机取出一个元素。
random 模块是 Python 标准库中的一个重要工具,主要用于生成各种随机数或进行随机选择。
random.choice(a)
20. 将列表保存到一个txt文件里,每个元素占一行。
方法一:
# 打开文件,并以 w 模式写入内容
file = open("example.txt", "w")
# 写入内容到文件
for x in a:
file.write(str(x)+"\n")
# 关闭文件
file.close()
方法二:
# 使用 with 语句,自动关闭文件
with open("example1.txt", "w") as file:
for x in a:
file.write(str(x) + "ge"+"\n")
浙公网安备 33010602011771号