python - 使用尾元组的变量迭代元组列表
问题描述
[(1,2,3), (2,3,1), (1,1,1)]
如何在将每个元组拆分为头部和尾部时进行迭代?我正在寻找一种简洁的pythonic方式,如下所示:
for h, *t in [(1,2,3), (2,3,1), (1,1,1)]:
# where I want t to be a tuple consisting of the last two elements
val = some_fun(h)
another_fun(val, t)
以上不适用于python 2.7。
解决方案
您可以使用map
to 和 list 切片:
for h, t in map(lambda x: (x[0], x[1:]), [(1,2,3), (2,3,1), (1,1,1)]):
print("h = %s, t=%s"%(h, t))
#h = 1, t=(2, 3)
#h = 2, t=(3, 1)
#h = 1, t=(1, 1)
推荐阅读
- oracle - 是否可以删除具有 Referenced_Owner/Referenced_Name 的无效对象?(dba_dependencies)
- python - 多处理不返回所有值
- mysql - How to extract values from MySQL query in Ansible play
- python - 如何围绕其最小值对数组进行切片
- javascript - 根据 Vue 中的数据变化切换对象(使用 Vuex)
- python - Python Logic 查找满足条件的子列表的总和
- python-3.x - Python3 合并列表中的元组并删除重复项
- java - Java try-with-resources 的缺点
- javascript - 如何制作表格并在其中输入 100 个随机生成的数字(javascript)
- python - 如何模拟出我想要导入的模块中的一些函数?