移除元素
?? CSDN“每日一练”( python )题目。
- 题目
- 代码运行效果
- 完整代码
练习题目
回首页
实现 Python 代码:
def remove_elements(nums, val):
'''移除给定数组中的所有给定值'''
ls = len(nums)
if ls == 0:
return 0, 0
count , index = 0, 0
while index < ls - count:
if nums[index] == val:
nums[index] = nums[ls - 1 - count]
count += 1
else:
index += 1
return count, ls - count
代码运行效果
#### 输出代码:
for i, j in nums:
print(f'nums:{i},val:{j}')
ls = remove_elements(i, j)
print(f'输出:{ls[1]},{i[:ls[1]]}\n')
输出效果:
??结果输出。修改代码,可以有想要的效果。
输出代码二:
for k, i in enumerate(nums):
print(f'{k + 1}. nums:{i[0]},val:{i[1]}')
ls = remove_elements(i[0], i[1])
print(f' 输出:{ls[1]},{i[0][:ls[1]]}\n')
输出效果:
输出代码三:
print(f'\n\n\n{"移除元素":_^38}\n\n')
for i, j in nums:
print(f'列表:{i},val:{j}\n')
ls = remove_elements(i, j)
print(f'移除{ls[0]}个“{j}”后,列表还有{ls[1]}个元素:{i[:ls[1]]}\n\n')
print(f'{"The End":_^42}\n\n')
输出效果:
回首页
python完整代码
(如果从语句注释不能清楚作用,请评论区留言指教和探讨。🤝)
def remove_elements(nums, val):
'''移除给定数组中的所有给定值'''
ls = len(nums)
if ls == 0:
return 0, 0
count , index = 0, 0
while index < ls - count:
if nums[index] == val:
nums[index] = nums[ls - 1 - count]
count += 1
else:
index += 1
return count, ls - count
nums = ([3, 2, 2, 3], 3), ([0, 1, 2, 2, 3, 0, 4, 2], 2)
for i, j in nums:
print(f'nums:{i},val:{j}')
ls = remove_elements(i, j)
print(f'输出:{ls[1]},{i[:ls[1]]}\n')
for k, i in enumerate(nums):
print(f'{k + 1}. nums:{i[0]},val:{i[1]}')
ls = remove_elements(i[0], i[1])
print(f' 输出:{ls[1]},{i[0][:ls[1]]}\n')
print(f'\n\n\n{"移除元素":_^38}\n\n')
for i, j in nums:
print(f'列表:{i},val:{j}\n')
ls = remove_elements(i, j)
print(f'移除{ls[0]}个“{j}”后,列表还有{ls[1]}个元素:{i[:ls[1]]}\n\n')
print(f'{"The End":_^42}\n\n')
回首页
我的HOT博:
|