gpt4 book ai didi

python - 如何修改 python 中每个列表/元组中的第一个值?

转载 作者:行者123 更新时间:2023-11-28 20:31:11 25 4
gpt4 key购买 nike

我有一个列表/元组列表,例如:

objects = [
(1, "a", "foo"), # or I can make [1, "a", "foo"] instead
(20, "bb", "bar"),
(1231, "cde", "foo2"),
]

现在我想修改每个元组的第一个值(例如,做一个简单的 to_string 转换):

objects = [
("1", "a", "foo"), # or I can make [1, "a", "foo"] instead
("20", "bb", "bar"),
("1231", "cde", "foo2"),
]

目前我创建了一个全新的列表:

objects_str = []
for object in objects:
objects_str.append((str(object[0]), object[1], object[2]))

有更简洁的方法吗?我考虑过使用 namedtuple 但看起来它们也是不可变的。另一种选择可能是使用:

objects_str = []
for object in objects:
object[0] = str(object[0])
objects_str.append(object)

注意:我也可以改变原始对象。

最佳答案

您可以使用 enumerate 遍历 objects 以使用索引就地修改它:

for i, (first, *rest) in enumerate(objects):
objects[i] = str(first), *rest

objects 变成:

[('1', 'a', 'foo'), ('20', 'bb', 'bar'), ('1231', 'cde', 'foo2')]

关于python - 如何修改 python 中每个列表/元组中的第一个值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55484886/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com