一个关于列表元素替换的问题,实在没思路。
['w', 'u', '1', 'y', 'a', '1']如果我想把这个列表转化成[''u', '1', 'ia', '1']用什么方式呢?是不是可以用数字作为判断条件切割字符?正则表达式?求大佬给个答案。
2021-08-22 00:56
2021-08-22 18:24
[此贴子已经被作者于2021-8-22 22:39编辑过]
2021-08-22 22:35
程序代码: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)
2021-08-23 08:48
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']
2021-08-24 12:25
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:]
2021-08-24 15:06