【发布时间】:2018-05-24 21:48:17
【问题描述】:
我在尝试解决这个问题时遇到了很大的挑战。我有这个列表列表:
[['060710080013011', 9],
['060710080013011', 9],
['060710080013011', 9],
['060710080013011', 9],
['060710080013011', 9],
['060710080013011', 9],
['060710080013011', 9],
['060710080013011', 9],
['060710080013011', 9],
['060710080013033', 8],
['060710080013033', 8],
['060710080013033', 8],
['060710080013033', 8],
['060710080013033', 8],
['060710080013033', 8],
['060710080013033', 8],
['060710080013033', 8],
['060710080021000', 15],
['060710080021000', 15],
['060710080021000', 15],
['060710080021000', 15],
['060710080021000', 15],
['060710080021000', 15],
['060710080021000', 15],
['060710080021000', 15],
['060710080021000', 15],
['060710080021000', 15],
['060710080021000', 15],
['060710080021000', 15],
['060710080021000', 15],
['060710080021000', 15],
['060710080021000', 15]]
第一个值是一个 ID,第二个值是这个 ID 在列表列表中出现的次数。问题如下:
当第二个值大于 7 时,我需要更改每个元组中每隔一个项目中的值,这里是所需的输出:
[['060710080013011', 7],
['060710080013011', 7],
['060710080013011', 7],
['060710080013011', 7],
['060710080013011', 7],
['060710080013011', 7],
['060710080013011', 7],
['060710080013011_2', 2],
['060710080013011_2', 2],
['060710080013033', 7],
['060710080013033', 7],
['060710080013033', 7],
['060710080013033', 7],
['060710080013033', 7],
['060710080013033', 7],
['060710080013033', 7],
['060710080013033_2', 1],
['060710080021000', 7],
['060710080021000', 7],
['060710080021000', 7],
['060710080021000', 7],
['060710080021000', 7],
['060710080021000', 7],
['060710080021000', 7],
['060710080021000_2', 7],
['060710080021000_2', 7],
['060710080021000_2', 7],
['060710080021000_2', 7],
['060710080021000_2', 7],
['060710080021000_2', 7],
['060710080021000_2', 7],
['060710080021000_3', 1]]
如果您在上面看到我想要的输出,我需要更改每个数字大于 7 的子列表的第二项。
如果您需要澄清问我,我的母语不是英语,但我可以做到最好。
【问题讨论】:
-
我对您尝试对元组进行的更改感到有些困惑。如果我理解正确,每个元组中的第二个值是 ID 的“计数”,如果超过 7,这就是您要更改的值,您要将其更改为什么?在您的结果中,元组中有 3 个值而不是 2 个,您是否添加了这个以及更改第二项的值?
-
你能解释一下你想要的输出吗?举一个实际输入的例子,以及期望的输出应该是什么。这将有助于澄清问题。
-
如果我是正确的。
[123456789, 9]你想改成[123456789, 7], [123456789_2, 2]对吗? -
感谢您抽出时间@JamesLingham。基本上,如果您输入值,则 LIST 中的前 9 个子列表具有相同的 ID,并且作为第二个子值,所有这些都有 9。所以基本上我需要将 7 的 9 更改为前 7 个值和2 为最后 2。这有意义吗。请随时询问。
-
那么为最后 2 次出现创建一个新 ID?元组中的第三个值来自哪里? 155 等,它似乎也可以延续到新的 ID 集,但不会出现在您的第一个列表中。
标签: python python-3.x list