Item
查找一列表包含的子串,并且按字典顺序排序
Contents
例子1: a1 = [“arp”, “live”, “strong”] a2 = [“lively”, “harp”, “sharp”, “armstrong”] returns [“arp”, “live”, “strong”] 例子 2: a1 = [“tarp”, “mice”, “bull”] a2 = [“lively”, “alive”, “harp”, “sharp”, “armstrong”] returns []
Knowledge
- 数据类型:字符串(string)
- 运算符:比较运算符、逻辑运算符、成员运算符
- 容器:列表(List)
- 其他:for多层循环体、字符串切片、sort方法
Me
- 建立嵌套循环,x遍历子组的元素,y遍历母组的元素;
- 关键环节:x应该等于y中的一部分;
- 关键特点:x长度是能获取的,那就利用字符串切片对应的切y,应该还需要再建立一个循环,也就是一个存储一个num值来不同位置(start、end)的切片,num的范围应该是0到y的长度值;
- 最后返回列表之前,需要按照升序排序。
Code
def in_array(array1, array2):
r = []
for x in array1:
for y in array2:
r += [x for num in range(0,len(y)) if x==y[num:num+len(x)] and x not in r]
r_new = list(set(r))
r_new.sort()
return r_new
|