import random
#1、需求,需要将listb中满足等于lista的元素都替换为某个18位的随机整型,并且必须保证listb相同的变量替换为相同的随机值
初始列表如下:
lista=['aaaa1','aaaa2','aaaa3','aaaa5','aaaa11'] listb=[('aaaa1',12,23,34,35,46,74,48), ('aaaa2',22,23,'aaaa1',25,26,27,28), ('aaaa3',32,33,34,353,36,37,38), ('aaaa5',52,3,54,55,6,57,48), ('aaaa11',2343,344,4,54,'aaaa1',7,8)] #-------------------------------------------# # 先将listb的子元素有tuple类型转为list类型(因为tuple本身不支持直接修改数据) listc=[list(listb[i]) for i in range(0,len(listb))] print("listc-old ",listc) for i in range (0,len(lista)): num = random.randint(777777777777777777, 888888888888888888) for j in range(0,len(listc)): for k in range(0, len(listc[j])): if listc[j][k]==lista[i]: listc[j][k]=num #print("listc-temp",listc) #下面将listc中子元素中的变量替换成功了随机值后,再讲子元素转回tuple类型,大功告成 listc=[tuple(listc[i]) for i in range(0,len(listc))] #print("listc-new ",listc)