Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/30.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何将列表列表中的字符串转换为元组?_Python - Fatal编程技术网

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

Python 如何将列表列表中的字符串转换为元组?,python,Python,假设我需要将第一个“a”替换为(0,1),那么结果应该是: list1 = [['a', (1, 1)], ['a', (1, 2)], ['a', (1, 3)]] 我如何才能做到这一点?只需解决内部列表: [[(0,1), (1, 1)], ['a', (1, 2)], ['a', (1, 3)]] 第一个索引操作[0]检索外部列表中的第一个元素,然后对其应用另一个索引操作以获取包含列表的第一个元素 list1[0][0] = (0, 1) 编辑:为了回答这个问题(仅第一个“a”),并

假设我需要将第一个“a”替换为
(0,1)
,那么结果应该是:

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

我如何才能做到这一点?

只需解决内部列表:

[[(0,1), (1, 1)], ['a', (1, 2)], ['a', (1, 3)]]
第一个索引操作
[0]
检索外部列表中的第一个元素,然后对其应用另一个索引操作以获取包含列表的第一个元素

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

编辑:为了回答这个问题(仅第一个“a”),并满足不满意的客户,这里有一些ok ish代码:

>>> 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)]]

否,示例输出显示只需要替换第一个
'a'
。您的代码将替换所有出现的
'a'
@GuyAdini add
break
并修复pascal缩进!如果你不想循环通过某个东西,我认为使用循环构造不是一个好主意。@MaxPowers他说他想替换第一个
'a'
,所以我认为他的意思是一般意义上的。@MaxPowers:这个问题有足够的模糊性,使得这个答案也正确;如果你知道第一个
'a'
的位置,我的答案显然是最正确的。否则,通过搜索查找jamylak是正确的。
>>> 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)]]
for inner_list in list1:
    for idx, elem in enumerate(inner_list):
        if elem=='a':
            inner_list[idx] = (0,1)
            break