python入门必会的7道题目之4--5

人生苦短,我用python!

这次给大家带来的是python入门必会的七道题目中几道题目,我只给出我的思路,大家有更好的思路可以留言评论!谢谢!

***从排好序的数组里面,删除重复的元素,重复的元素最多只能出现两次***

nums = [1,1,1,1,1,1,2,2,2,2,3,3,3,3,3,4,4,4]
flag = 0
x = 0 - len(nums)
for i in range(len(nums)-1,0,-1):#一定要从后往前遍历列表  因为列表的内存自动进行增加或减少
    if nums[i] == nums[i-1]:
        flag = flag + 1    #设置标志 如果有两个连续的数字,就增加
        if flag >= 2:
            del nums[i]    #如果有连续的三个的数字,就删除
           # nums.remove(nums[i])
    elif nums[i] != nums[i-1]:    #遇到不一样的数字,就把标志设为0
        flag = 0
print(nums)

***给定一个列表,把所有0移动到列表后面,同时保持非0元素的相对顺序****

a = [0,0,0,1,2,3,4]
for i in range(len(a)):
    if a[i] == 0:
        for j in range(i+1,len(a)):
            if a[j] != 0:
                a[i],a[j] = a[j],a[i]
                break
print(a)

今天就先给出这两道题的答案,有更好方法的小伙伴可以私聊我!

猜你喜欢

转载自blog.csdn.net/yanzhiguo98/article/details/84206383