gpt4 book ai didi

wolfram-mathematica - 在 Mathematica 中对列表中每个元素的第二个组件进行操作

转载 作者:行者123 更新时间:2023-12-04 08:16:49 25 4
gpt4 key购买 nike

我可以使用以下方式对列表中每个元素的第一个组件进行一些操作(在本例中为 ToString ):

{ToString@#[[1]], Rest@#}~Flatten~1 & /@ {{1, 2}, {3, 4, 5}}

但是,我有几个问题:
  • 由于显而易见的原因,它不适用于 {ToString@#[[1]], Rest@#}~Flatten~1 & /@ {{1,
    2}, 2, {3, 4, 5}}
    。如何使它也适用
    这个案例?预期的输出将是 {{"1", 2}, 2, {"3", 4, 5}}
  • 如何轻松地为第二个(或第三个等)组件 执行此操作 ? IE。我希望输出是 {{0}, {1, "2"}, {3, "4", 5}, {6, "7", 9, 10}}
  • 有没有办法使用模式/规则(比如/.{#[[1]]->ToString[#[[1]]]} ) 用于这种操作?所以无论效率如何,请列出您可能想到的所有解决方案。

  • 非常感谢!

    最佳答案

    在我编写它之前,我没有意识到这与 Leonid 的核心功能相同。也许这说明这可能比他相当复杂的功能更透明一些。

    lst = {{1, 2}, 2, {3, 4, 5}};

    Replace[lst, {a_, b__} :> {ToString@a, b}, 1]

    {{"1", 2}, 2, {"3", 4, 5}}

    然后可以将 {x:Repeated[_, {4}], a_, b__} :> {x, ToString@a, b}, 1] 用于第五个索引等。

    关于wolfram-mathematica - 在 Mathematica 中对列表中每个元素的第二个组件进行操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8638573/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com