Python 如何将列表列表中的字符串转换为元组?
假设我需要将第一个“a”替换为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”),并
(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 addbreak
并修复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