Python 3.x 上述代码是否有解释?
你能给我解释一下下面提到的代码吗。因为我自己无法理解这些代码。我假设这是列的defnine函数,但不确定Python 3.x 上述代码是否有解释?,python-3.x,pandas,Python 3.x,Pandas,你能给我解释一下下面提到的代码吗。因为我自己无法理解这些代码。我假设这是列的defnine函数,但不确定 def remove_common_text(lst): if len(lst) > 4: for itm in lst: if len(itm)>1: rep = True while rep == True:
def remove_common_text(lst):
if len(lst) > 4:
for itm in lst:
if len(itm)>1:
rep = True
while rep == True:
ctr = 0
ctr2 = 0
for itm2 in lst:
if len(itm2)>0:
if itm[0] == itm2[0]:
ctr = ctr + 1
if itm[-1] == itm2[-1]:
ctr2 = ctr2 + 1
if ctr > 4:
str = itm[0]
for itm2 in lst:
if len(itm2)>0:
if itm2[0] == str and len(itm2)>1:
del itm2[0]
if ctr2 > 4:
str2 = itm[-1]
for itm2 in lst:
if len(itm2)>0:
if itm2[-1] == str2 and len(itm2)>1:
del itm2[-1]
if (ctr <= 4 and ctr2 <= 4) or len(itm)<=1: rep = False
id_unique = documents['ID'].unique()
print(id_unique)
for id in id_unique:
remove_common_text(documents[documents.ID==id]['split_clean'])
print(id)
def删除公共文本(lst):
如果len(lst)>4:
对于lst中的itm:
如果len(itm)>1:
rep=True
当rep==True时:
ctr=0
ctr2=0
对于lst中的itm2:
如果len(itm2)>0:
如果itm[0]==itm2[0]:
ctr=ctr+1
如果itm[-1]==itm2[-1]:
ctr2=ctr2+1
如果ctr>4:
str=itm[0]
对于lst中的itm2:
如果len(itm2)>0:
如果itm2[0]==str和len(itm2)>1:
del itm2[0]
如果ctr2>4:
str2=itm[-1]
对于lst中的itm2:
如果len(itm2)>0:
如果itm2[-1]==str2和len(itm2)>1:
del itm2[-1]
如果(ctr我要写删除公共文本(lst)
的功能。下面的内容是熊猫,所以也许其他人能比我回答得更好
参数lst应该是这样的:[['a','b','c','d','e'],['a','b','1','d','e'],['a','b','2','d','e'],['a','b','3','d','e'],['a','b','3','d','e'],['a','b','d','e'],['a','b','c','d','d',
python代码片段分为3个部分:
它计算每个“项目”中类似元素的数量,并将其记录为计数器变量ctr
和ctr2
,,从每个“项目”的开始和结束。请记住这一粗体部分,因为这是这里独有的
它删除记录的相似性ctr
然后删除记录的相似性ctr2
独占部分:它从开始到结束都会检查,因此如果您向它抛出“abcde”和“a1bcd2e”。即使“bcd”元素很常见,它也会在1和2处停止检查
如果您想知道,对于上述情况,它给出了[['c']、['1']、['2']、['3']、['4']、['c'、['d'、'-1']
还有一个测试用例:
输入/输出:['a','b','c','d','e'],['a','b','1','d','e','j'],['a','b','2','d','e'],['a','b','3','d','e'],['a','b','4','d','e'],['a','b','c','d','e']
O/p:[[c']、[1'、[d'、[e'、[j']、[2']、[3']、[4']、[c']
即使你不理解每一步,你知道它应该做什么吗?如果是这样,你可以为它编写一个单元测试,看看它做了什么。