如何将列表列表中的字符串转换为元组?

时间:2012-07-30 11:10:04

标签: python

list1 = [['a', (1, 1)], ['a', (1, 2)], ['a', (1, 3)]]

假设我需要先用'{1}}替换'a',然后结果应为:

(0,1)

我该怎么做?

3 个答案:

答案 0 :(得分:4)

简单地说明内部列表:

list1[0][0] = (0, 1)

第一个索引操作[0]检索外部列表中的第一个元素,然后应用另一个索引操作来获取包含列表的第一个元素。

>>> list1 = [['a', (1, 1)], ['a', (1, 2)], ['a', (1, 3)]]
>>> list1[0][0] = (0, 1)
>>> list1
[[(0, 1), (1, 1)], ['a', (1, 2)], ['a', (1, 3)]]

答案 1 :(得分:2)

>>> my_list = [['a', (1, 1)], ['a', (1, 2)], ['a', (1, 3)]]
>>> for sublist in my_list:
        if sublist[0] == 'a':
            sublist[0] = (0, 1)
            break


>>> my_list
[[(0, 1), (1, 1)], ['a', (1, 2)], ['a', (1, 3)]]

答案 2 :(得分:1)

编辑:让这个回答问题(只有第一个'a'),并满足不满意的缩进客户 - 这里有一些好的代码:

for inner_list in list1:
    for idx, elem in enumerate(inner_list):
        if elem=='a':
            inner_list[idx] = (0,1)
            break