如何用Python循环将列表内的元组转换为列表?
问题解决:将users中的元组转换为列表
你的代码里循环中i = list(i)的操作不会修改原users列表——因为i是迭代时取出的元组的临时变量,重新赋值i只会改变这个变量的指向,不会影响原列表里的元素。
下面是三种可行的解决方法:
方法1:列表推导式(最简洁)
直接在生成users时就把每个元组转成列表:
usernames = ["Dude","Bro","Mister",] passwords = ("bloke","black","nobbe",) users = [list(item) for item in zip(usernames,passwords)] print(users)
输出:[['Dude', 'bloke'], ['Bro', 'black'], ['Mister', 'nobbe']]
方法2:通过索引修改原列表
用enumerate获取元素索引,直接替换原列表对应位置的元素:
usernames = ["Dude","Bro","Mister",] passwords = ("bloke","black","nobbe",) users = list(zip(usernames,passwords)) for idx, item in enumerate(users): users[idx] = list(item) print(users)
方法3:使用map函数
将list函数映射到zip的每个元素上,再转成列表:
usernames = ["Dude","Bro","Mister",] passwords = ("bloke","black","nobbe",) users = list(map(list, zip(usernames,passwords))) print(users)
内容的提问来源于stack exchange,提问作者Wizards Fart
相关产品推荐
相关产品推荐

