2024-06-01 07:16:00 发布
网友
我有一个列表data = ['aa', 'aaaa', 'aaaaaaaa', 'aaaa', 'qwer', 'qweraaaa'],其中我需要计算列表中字符串的数量,以列表中两个字符串的串联形式表示
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(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): 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(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
您可以尝试以下方法:
输出
问题在于,您测试的是字符串与自身的连接,而不是所有其他组合与其他字符串的连接
此代码将在以下情况下工作:
产出:4
相关问题 更多 >
编程相关推荐