Python中的元组和列表出现问题

时间:2017-09-22 07:49:29

标签: python list tuples

我需要找到一种方法来获取数据集并更改一些值。

数据采用以下格式:(姓名,年龄,财富)

list = [(Donald, 25, 500), (Chris, 28, 450), (Susan, 23, 650)]

我需要使用for循环以及元组和列表的索引来将每个人的财富改为1000。

1 个答案:

答案 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)