当前位置: 首页 > 知识库问答 >
问题:

Python:如何更改列表的每个子列表中每个元素的数据类型。在本例中:int到str

卢永寿
2023-03-14

给定列表list1=[[1,2,3],[4,5,6]],为了返回[['1','2','3'],['4','5,'6']],我尝试了以下操作:

for i in list1:
   for j in i:
      j = str(j)
list1

这对列表不起作用:它不改变输出list1。我认为它可以通过重新分配来工作,类似于循环中的a[0][0]=str(a[0][0])(它确实起作用)。当然,上面的for循环不会这样做。

我还尝试了“地图”,如

for i in list1:
   for j in i:
      list(map(str,i)

这也与清单1完全无关。

我正在试图改变原来的名单,这应该是可能的。也许新的名单会是这样,但我几乎可以肯定这是不必要的。

有人能帮忙吗?谢谢.

共有2个答案

时仰岳
2023-03-14

使用嵌套列表合并

list1 = [[1,2,3],[4,5,6]]
[[str(x) for x in y] for y in list1]

将返回

[['1', '2', '3'], ['4', '5', '6']]
许曦
2023-03-14

您可以尝试列表理解

[[str(j) for j in i] for i in list1]
# or
# [list(map(str,i)) for i in list1]
[['1', '2', '3'], ['4', '5', '6']]
 类似资料:
  • 问题内容: 我只想将一个列表中的每个元素除以一个int。 这是错误: 我了解为什么收到此错误。但是我为找不到解决方案感到沮丧。 还尝试了: 错误: 预期结果: 编辑: 以下代码给了我预期的结果: 但是,有没有更容易/更快的方法来做到这一点? 问题答案: 惯用的方式是使用列表理解: 或者,如果您需要保留对原始列表的引用:

  • 问题内容: 如何进行for循环或列表理解,以便每次迭代都给我两个元素? 输出: 问题答案: 你需要一个实施。 对于Python 2: 或更笼统地说: 在Python 3中,你可以替换为内置函数,然后删除import。 所有信贷蒂诺对他的回答到我的问题,我发现这是非常有效的,因为它只是在列表上循环一次,并在此过程中不会产生任何不必要的名单。 注意:不要将其与Python自己的文档中的pairwise

  • 问题内容: 可以说我有一个这样的列表: 我有一个函数,假设我想将该函数应用于该函数的每个子列表,可以计算出有关两个列表的一些分数。如何将此功能应用于的每个列表并在新列表中返回每个分数,如下所示: 我尝试使用以下功能: 问题答案: 您可以使用内置函数来执行此操作。 因此,如果您要应用的函数是,则可以执行以下操作: 在中,上面返回了一个地图迭代器,因此您需要一个显式调用: 如果您要为此编写一些必须在P

  • 我有一个这样的数字列表: 如何以优雅的方式总结每个N(让我们假设2)个元素并将列表转换为: 编辑:我想出了以下解决方案: 它是有效的,但我仍然在寻找一个更易读、更简单的方法。

  • 问题内容: 我有一个清单: 如何将每个元素乘以5?输出应为: 问题答案: 您可以只使用列表理解: 请注意,列表理解通常是执行循环的更有效方法: 作为替代方案,以下是使用流行的Pandas软件包的解决方案: 或者,如果您只想要列表:

  • 我有一个数据框,其中一些单元格包含多个值的列表。我不想在一个单元格中存储多个值,而是希望扩展dataframe,以便列表中的每个项都有自己的行(在所有其他列中都有相同的值)。因此,如果我有: 如何转换为长格式,例如: 索引并不重要,可以将现有列设置为索引,而最终的顺序并不重要。