我需要找到一种方法来获取数据集并更改一些值。
数据采用以下格式:(姓名,年龄,财富)
list = [(Donald, 25, 500), (Chris, 28, 450), (Susan, 23, 650)]
我需要使用for
循环以及元组和列表的索引来将每个人的财富改为1000。
答案 0 :(得分:1)
你可以这样做:
list = [(Donald, 25, 500), (Chris, 28, 450), (Susan, 23, 650)]
for i in range(len(list)):
list[i] = (list[i][0],list[i][1],1000)
由于tuple
是不可变的,因此您需要创建一个全新的tuple
。
你也可以用这种方式创建一个新的list
:
list = [(Donald, 25, 500), (Chris, 28, 450), (Susan, 23, 650)]
list2 = []
for t in list:
list2.append(t[0],t[1],1000)
这是一种for-each
类似的方式来遍历您的列表。
另外两种紧凑而简单的方法,如@Martijn Pieters♦建议使用list comprehensions这样:
list = [(Donald, 25, 500), (Chris, 28, 450), (Susan, 23, 650)]
list = [(x,y,1000) for (x,y,z) in list]
像这样的或enumerate()
:
list = [(Donald, 25, 500), (Chris, 28, 450), (Susan, 23, 650)]
for i, (name, age, wealth) in enumerate(list):
list[i] = (name,age,1000)