[英]How to write method for counting the number of strings represented of the concatenation
我有一个列表data = ['aa', 'aaaa', 'aaaaaaaa', 'aaaa', 'qwer', 'qweraaaa']
其中我需要计算列表中字符串的数量,以以下形式表示列表中两个字符串的连接
我的代码:
def double_string(date):
count = 0
for item in data:
if item * 2 in data:
count += 1
return count
我有 4 个测试,其中 3 个是正确的,1 个是不正确的
测试:
任务:
问题是您测试字符串与自身的连接,而不是测试与其他字符串的所有其他组合。
此代码将工作:
def double_string(data):
count = 0
for i in range(len(data)):
for j in range(i,len(data)):
if data[i]+data[j] in data:
count += 1
return count
你可以试试这个:
def double_string(lista):
count=0
for x in lista:
if any(x+y in lista for y in lista):
count+=1
return count
print (double_string(['aa', 'aaaa', 'aaaaaaaa', 'aaaa', 'qwer', 'qweraaaa']))
输出
4
def double_string(data):
str_count = 0
for val in data:
tempVal = val*2
str_count += data.count(tempVal)
return str_count
print (double_string(['aa', 'aaaa', 'aaaaaaaa', 'aaaa', 'qwer', 'qweraaaa']))
输出:4
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.