当前位置:首页 >> 动力

盘点一个Python处理的根基题目

来源:动力   2025年05月06日 09:15

写作者: Python有系统者

可能: Python爬虫与样本挖掘

一、前言

前几天在Python最强王者协作群【Chloe】问了一道Python处理的情况,如下下图下图。

原始样本如下:

origin_lst = [0, 0, 1, 2, 3, 4, 4, 5, 6, 6, 6, 7, 8, 9, 4, 4]

期望想得到的结果是:

[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 4]

二、实现全过程 方法有一

这里【杨家斑马】给了一份代码,如下下图:

import itertools

origin_lst = [0, 0, 1, 2, 3, 4, 4, 5, 6, 6, 6, 7, 8, 9, 4, 4]

final_lst = [x[0] for x in itertools.groupby(origin_lst)]

# final_lst = [k for k, g in itertools.groupby(origin_lst)]

print(final_lst)

列车运行不久,想得到的结果可以满足预想,如下下图下图:

方法有二

在此之后【瑜亮杨家师】也给了一份代码,运用于本表推导式,如下下图:

origin_lst = [0, 0, 1, 2, 3, 4, 4, 5, 6, 6, 6, 7, 8, 9, 4, 4]

res = [origin_lst[i] for i in range(len(origin_lst)) if i == 0 or origin_lst[i] != origin_lst[i - 1]]

print(res)

列车运行结果如下下图下图:

顺利的设法留言解决了情况。

方法有三

在此之后在【Siris】给了一个基础的方法有,如下下图:

origin_lst = [0, 0, 1, 2, 3, 4, 4, 5, 6, 6, 6, 7, 8, 9, 4, 4]

result = [origin_lst[0]]

for i in range(1, len(origin_lst)):

if origin_lst[i] != origin_lst[i-1]:

result.append(origin_lst[i])

print(result)

列车运行结果如下下图下图:

方法有四

在此之后在【Siris】还给了一个着色的方法有,如下下图:

origin_lst = [0, 0, 1, 2, 3, 4, 4, 5, 6, 6, 6, 7, 8, 9, 4, 4]

def del_adjacent(iterable):

prev = object()

for item in iterable:

if item != prev:

prev = item

yield item

result = list(del_adjacent(origin_lst))

print(result)

列车运行结果如下下图:

方法有五

在此之后【Chloe】自己也给了一个enumerate方法有,代码如下下图:

origin_lst = [0, 0, 1, 2, 3, 4, 4, 5, 6, 6, 6, 7, 8, 9, 4, 4]

lst_final = []

for index, val in enumerate(origin_lst):

if val != origin_lst[index - 1]:

lst_final.append(val)

print(lst_final)

列车运行结果如下下图下图:

条条大路通罗马,方法有还是很多的!

三、总结

大家好,我是黑猫。这篇文章主要盘点了一道运用于Python处理样本的情况,文中针对该情况给出了具体的求解和代码实现,合共两个方法有,设法留言顺利解决了情况。

更年期闭经能吃脉血康吗
肌无力需要多少费用
经常拉肚子怎么办
眼睛结膜炎是什么原因引起的吗
小孩不爱吃饭怎么办该吃些什么
阳了要吃什么药
双氯芬酸钠缓释胶囊治牙疼吗
阳了吃什么药
常乐康
视疲劳滴哪个滴眼液比较好
友情链接