任意数量的带有共同日期的元组解包
输入
datas2 = [[("01/01/2011", 1), ("02/02/2011", "No"), ("03/03/2011", 11)],
[("01/01/2011", 2), ("03/03/2011", 22), ("22/22/2222", "no")],
[("01/01/2011", 3), ("03/03/2011", 33), ("22/22/2222", "333")]]
预期输出
[("01/01/2011", 1, 2, 3), ("03/03/2011", 11, 22, 33)]
[更新]
我被问及真实数据和更多示例(历史上的乱码):
A B C
09.05.2011;1.561 12.04.2011;14.59 12.04.2011;1.5
10.05.2011;1.572 13.04.2011;14.50 13.04.2011;1.5
11.05.2011;1.603 14.04.2011;14.56 14.04.2011;1.5
12.05.2011;1.566 15.04.2011;14.54 15.04.2011;1.5
13.05.2011;1.563 18.04.2011;14.54 18.04.2011;1.5
16.05.2011;1.537 19.04.2011;14.52 19.04.2011;1.5
17.05.2011;1.528 20.04.2011;14.53 20.04.2011;1.5
18.05.2011;1.543 21.04.2011;14.59 21.04.2011;1.5
19.05.2011;1.537 26.04.2011;14.65 26.04.2011;1.6
20.05.2011;1.502 27.04.2011;14.68 27.04.2011;1.6
23.05.2011;1.503 28.04.2011;14.66 28.04.2011;1.6
24.05.2011;1.483 29.04.2011;14.62 29.04.2011;1.6
25.05.2011;1.457 02.05.2011;14.65 02.05.2011;1.6
26.05.2011;1.491 03.05.2011;14.63 03.05.2011;1.6
27.05.2011;1.509 04.05.2011;14.54 04.05.2011;1.5
30.05.2011;1.496 05.05.2011;14.57 05.05.2011;1.5
31.05.2011;1.503 06.05.2011;14.57 06.05.2011;1.5
01.06.2011;1.509 09.05.2011;14.61 09.05.2011;1.6
03.06.2011;1.412 10.05.2011;14.66 10.05.2011;1.6
06.06.2011;1.380 11.05.2011;14.71 11.05.2011;1.7
07.06.2011;1.379 12.05.2011;14.71 12.05.2011;1.7
08.06.2011;1.372 13.05.2011;14.70 13.05.2011;1.7
09.06.2011;1.366 16.05.2011;14.75 16.05.2011;1.7
10.06.2011;1.405 17.05.2011;14.69 17.05.2011;1.6
13.06.2011;1.400 18.05.2011;14.65 18.05.2011;1.6
14.06.2011;1.414 19.05.2011;14.69 19.05.2011;1.6
- 如果我解压 A 和 B,它将包含所有值。
如果我解压 A、B 和 C,它将包含:
[ [“2011年5月9日”, 1.561, 14.61, 1.6], [“2011年5月10日”, 1.572, 14.66, 1.6], [“2011年5月11日”, 1.603, 14.71, 1.7], [“2011年5月12日”, 1.566, 14.71, 1.7], [“2011年5月13日”, 1.563, 14.70, 1.7], [“2011年5月16日”, 1.537, 14.75, 1.7], [“2011年5月17日”, 1.528, 14.69, 1.6], [“2011年5月18日”, 1.543, 14.65, 1.6], [“2011年5月19日”, 1.537, 14.69, 1.6] ]
因此每个日期必须具有与文件一样多的值,即 A、B、C 列...
Input
datas2 = [[("01/01/2011", 1), ("02/02/2011", "No"), ("03/03/2011", 11)],
[("01/01/2011", 2), ("03/03/2011", 22), ("22/22/2222", "no")],
[("01/01/2011", 3), ("03/03/2011", 33), ("22/22/2222", "333")]]
Intended Output
[("01/01/2011", 1, 2, 3), ("03/03/2011", 11, 22, 33)]
[Update]
I was asked about real data and more examples (messy codes in history):
A B C
09.05.2011;1.561 12.04.2011;14.59 12.04.2011;1.5
10.05.2011;1.572 13.04.2011;14.50 13.04.2011;1.5
11.05.2011;1.603 14.04.2011;14.56 14.04.2011;1.5
12.05.2011;1.566 15.04.2011;14.54 15.04.2011;1.5
13.05.2011;1.563 18.04.2011;14.54 18.04.2011;1.5
16.05.2011;1.537 19.04.2011;14.52 19.04.2011;1.5
17.05.2011;1.528 20.04.2011;14.53 20.04.2011;1.5
18.05.2011;1.543 21.04.2011;14.59 21.04.2011;1.5
19.05.2011;1.537 26.04.2011;14.65 26.04.2011;1.6
20.05.2011;1.502 27.04.2011;14.68 27.04.2011;1.6
23.05.2011;1.503 28.04.2011;14.66 28.04.2011;1.6
24.05.2011;1.483 29.04.2011;14.62 29.04.2011;1.6
25.05.2011;1.457 02.05.2011;14.65 02.05.2011;1.6
26.05.2011;1.491 03.05.2011;14.63 03.05.2011;1.6
27.05.2011;1.509 04.05.2011;14.54 04.05.2011;1.5
30.05.2011;1.496 05.05.2011;14.57 05.05.2011;1.5
31.05.2011;1.503 06.05.2011;14.57 06.05.2011;1.5
01.06.2011;1.509 09.05.2011;14.61 09.05.2011;1.6
03.06.2011;1.412 10.05.2011;14.66 10.05.2011;1.6
06.06.2011;1.380 11.05.2011;14.71 11.05.2011;1.7
07.06.2011;1.379 12.05.2011;14.71 12.05.2011;1.7
08.06.2011;1.372 13.05.2011;14.70 13.05.2011;1.7
09.06.2011;1.366 16.05.2011;14.75 16.05.2011;1.7
10.06.2011;1.405 17.05.2011;14.69 17.05.2011;1.6
13.06.2011;1.400 18.05.2011;14.65 18.05.2011;1.6
14.06.2011;1.414 19.05.2011;14.69 19.05.2011;1.6
- If I unpacked A and B, it would contain all values.
If I unpacked A, B and C, it would contain:
[
["09.05.2011", 1.561, 14.61, 1.6],
["10.05.2011", 1.572, 14.66, 1.6],
["11.05.2011", 1.603, 14.71, 1.7],
["12.05.2011", 1.566, 14.71, 1.7],
["13.05.2011", 1.563, 14.70, 1.7],
["16.05.2011", 1.537, 14.75, 1.7],
["17.05.2011", 1.528, 14.69, 1.6],
["18.05.2011", 1.543, 14.65, 1.6],
["19.05.2011", 1.537, 14.69, 1.6]
]
so every date must have as much values as there are files i.e. columns A, B, C,...
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
并且
d
将是一个类似以下的字典:因此您可以稍后使用
d.items()
将其格式化为元组请注意,“22/22/2222”未经过验证,但在 for 循环中很容易做到这一点。
and
d
will be a dict like:So you can format it later as tuples with
d.items()
Note the "22/22/2222" wasn't validated, but is quite easy to do that inside the
for
loop.此代码编写为在 Python 2.x 或 Python 3.x 上同样有效。我用Python 2.7和Python 3.2测试了它。
This code is written to work equally well on Python 2.x or Python 3.x. I tested it with Python 2.7 and Python 3.2.