''' a) 字符串数组的最大前缀 flow flower flop 最长前缀 flo 比如cat dog 最长前缀 空字符串输出 ''' def max_s(li): for k in li: flag_str = li[0][0] if k[0]!=flag_str: print('null') break for i in range(len(li[0])): flag_str = li[0][i] if k[i]!=flag_str: print(li[0][:i]) if __name__ == '__main__': li = ['flow','flower','flop'] max_s(li)
从一个列表中找出和等于固定值N的数:
# 定义twosum函数,接收参数为数组及目标值 def twosum(alist, targetnum): # 使用enumerate函数获取列表的下标和值 for i, j in enumerate(alist): # 控制targetnum - j的结果在列表中的搜索位置,从下标i的下一个位置开始搜索,用于去重 k = i + 1 # 检查targetnum - j的值是否在列表索引k之后出现 if alist[k:].count(targetnum - j) > 0: # 如果targetnum - j的值存在于列表索引k之后,则统计出现次数,用于控制循环 for n in range(alist[k:].count(targetnum - j)): # 使用index函数返回targetnum - j的索引值 b = alist.index(targetnum - j, k) # 打印这两个数的索引下标 print('索引:',i, b) print('对应的数:',alist[i], alist[b]) # 重置搜索位置 k = b + 1