
myList = [(1,2,3),(4,12,6)]def GS(myList): for miniList in myList: r = miniList[0] g = miniList[1] b = miniList[2] GS = round((r+g+b)/3,2) miniList = List(miniList) miniList[0] = GS miniList[1] = GS miniList[2] = GS miniList = tuple(miniList) return myList print(GS(myList))
我的清单是[(1,6)]
我应该得到每个元组的平均值并替换三个元组
输出:[(2.0,2.0,2.0),(7.33,7.33,7.33)]
解决方法 您可以使用列表理解.下面的示例避免了通过map和zip迭代器计算每个元组的长度两次.myList = [(1,6)]def GS(L): lens = map(len,L) res = [(sum(i)/i_len,)*i_len for i,i_len in zip(L,lens)] return resprint(GS(myList))[(2.0,(7.333333333333333,7.333333333333333,7.333333333333333)]
如果您希望舍入小数,可以使用:
res = [(round(sum(i)/i_len,2),lens)]总结
以上是内存溢出为你收集整理的Python将修改后的列表转换为for循环全部内容,希望文章能够帮你解决Python将修改后的列表转换为for循环所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)