Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/344.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,如何删除嵌套列表中项目中的“” c = [['1', '1', '10', '92'], ['262', '56', '238', '142'], ['86', '84', '149', '30'], ['48', '362', '205', '237'], ['8', '33', '96', '336'], ['39', '82', '89', '140'], ['170', '296', '223', '210'], ['16', '40', '65', '50'], ['16', '40'

如何删除嵌套列表中项目中的“”

c = [['1', '1', '10', '92'], ['262', '56', '238', '142'], ['86', '84', '149', '30'], ['48', '362', '205', '237'], ['8', '33', '96', '336'], ['39', '82', '89', '140'], ['170', '296', '223', '210'], ['16', '40', '65', '50'], ['16', '40', '65', '50']]

>>> [ ','.join(i[0:][0:]) for i in c]
['1,1,10,92', '262,56,238,142', '86,84,149,30', '48,362,205,237', '8,33,96,336', '39,82,89,140', '170,296,223,210', '16,40,65,50', '16,40,65,50']
但是,我将保留方括号

[[1,1,10,92], [262,56,238,142], [86,84,149,30], [48,362,205,237], [8,33,96,336'] [39,82,89,140], [170,296,223,210], [16,40,65,50], [16,40,65,50]]

如何完成这项任务?

这并不是真正删除引号。这使用将
str
s转换为
int
s,并使用a构建结果:

In [72]: [map(int, grp) for grp in c]
Out[72]: 
[[1, 1, 10, 92],
 [262, 56, 238, 142],
 [86, 84, 149, 30],
 [48, 362, 205, 237],
 [8, 33, 96, 336],
 [39, 82, 89, 140],
 [170, 296, 223, 210],
 [16, 40, 65, 50],
 [16, 40, 65, 50]]

列表理解可以无限嵌套。因此,您只需要创建一个嵌套的字符串,将字符串转换为整数:

>>> c = [['1', '1', '10', '92'], ['262', '56', '238', '142'], ['86', '84', '149', '30'], ['48', '362', '205', '237'], ['8', '33', '96', '336'], ['39', '82', '89', '140'], ['170', '296', '223', '210'], ['16', '40', '65', '50'], ['16', '40', '65', '50']]
>>> [[int(y) for y in x] for x in c]
[[1, 1, 10, 92], [262, 56, 238, 142], [86, 84, 149, 30], [48, 362, 205, 237], [8, 33, 96, 336], [39, 82, 89, 140], [170, 296, 223, 210], [16, 40, 65, 50], [16, 40, 65, 50]]
>>>

这些引号表示子列表的元素是字符串。您需要将它们转换为整数。请注意,如果您使用的是Python3,则必须对c中的grp执行
[list(map(int,grp))
,因为
map()
在Python3中返回一个映射对象,而不是列表。感谢大家的快速响应,这两个示例都很有用