一个关于列表元素替换的问题,实在没思路。
['w', 'u', '1', 'y', 'a', '1']如果我想把这个列表转化成[''u', '1', 'ia', '1']用什么方式呢?是不是可以用数字作为判断条件切割字符?正则表达式?求大佬给个答案。
[此贴子已经被作者于2021-8-22 22:39编辑过]
l = ['w','u','l','y','a','l'] windex = 0 yindex = 0 for i,v in enumerate(l): if v == 'w': windex = i elif v == 'y': yindex = i if v == 'u' and (i - windex) == 1: del l[windex] if v == 'a' and (i - yindex) == 1: del l[yindex] print(l)
arr = ['w', 'u', '1', 'y', 'a', '1'] arr = [arr[i] for i in range(len(arr)-1) if arr[i+1] not in ['u', 'a']]+arr[-1:]
['u', '1', 'a', '1']
arr = ['w', 'u','d','u', '1', 'y', 'a'] d = {'w':'u','y':'a'} arr = [arr[i] for i in range(len(arr)-1) if arr[i] in d.keys() and arr[i+1] != d[arr[i]] or arr[i] not in d.keys()] + arr[-1:]