python - 如何将函数应用于元组元组中每个元组中特定位置的元素?

标签 python python-2.7 tuples

我有这个元组的元组;

Tuple = ( ('AA', 'BB', datetime.datetime(2014, 3, 2, 0, 0) ), ('CC', 'DD', datetime.datetime(2014, 3, 2, 0, 1) )  )

我想把它转换成这样;

Output= ( ('AA', 'BB', '2014-3-2 00:00:00' ), ('CC', 'DD', '2014-3-2 00:00:00'  )

每个元组的第三个元素将被转换为表示日期时间的字符串。这可以用这样的东西来完成 Tuple[0][2].strftime('%Y-%m-%d %H:%M:%S')

我遇到的问题是如何将此函数 strftime() 应用于此元组元组内每个元组的第三个元素?

最佳答案

您必须再次生成元组。您可以使用以下列表推导来做到这一点。

>>> [(a, b, date.strftime('%Y-%m-%d %H:%M:%S')) for (a, b, date) in Tuple]
[('AA', 'BB', '2014-03-02 00:00:00'), ('CC', 'DD', '2014-03-02 00:01:00')]

如果最终结果需要是元组,请使用 tuple()。这个使用了一个生成器表达式,但基本上是一样的:

>>> tuple((a, b, date.strftime('%Y-%m-%d %H:%M:%S')) for (a, b, date) in Tuple)
(('AA', 'BB', '2014-03-02 00:00:00'), ('CC', 'DD', '2014-03-02 00:01:00'))

关于python - 如何将函数应用于元组元组中每个元组中特定位置的元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22141877/

相关文章:

python - 将字典转换为元组排序列表

python - 如何在python中比较两个列表列表,然后将数据写入excel

python - 如何上传到 Dropbox 公共(public)文件夹并获取公共(public) URL?

python - 类应该包括所有可以在 y 中的有效标签

python - Win32api 没有在 python 中使用 GetCursorPos() 给出正确的坐标

python-2.7 - 无法在 Mac 上安装 Tesseract-OCR

python - 如何在python中将两个数据帧一个带值另一个带 bool 值变成一个数据帧?

python - 为什么此循环的迭代没有在 openpyxl 中添加单元格?

c++ - C++11 中的元组有哪些好的用例?

Python:变长元组