python - 转换元组列表,使得 [(a,b,c)] 转换为 [(a,b),(a,c)]
问题描述
关于我将如何做到这一点的想法?我希望元组中的第一个值与每个连续值配对。这样,每个结果元组都是从第一个值开始的一对。
我需要这样做: [(a,b,c)] --> [(a,b),(a,c)]
解决方案
你可以试试这个。
(t,)=[('a','b','c')]
[(t[0],i) for i in t[1:]]
# [('a', 'b'), ('a', 'c')]
it=iter(('a','b','c'))
list(itertools.product(next(it),it))
# [('a', 'b'), ('a', 'c')]
it=iter(('a','b','c'))
list(zip(itertools.repeat(next(it)),it))
# [('a', 'b'), ('a', 'c')]
推荐阅读
- javascript - 由于无效或意外的令牌,Javascript 方法不会执行
- r - 忽略未知参数:point.colour.1
- postfix - traceroute -T -p 25 alt4.aspmx.l.google.com
- linux - 如果列包含数字,则插入文本
- angular - 角度构建项目
- c# - 图表 X 轴标签错误
- android - 如何删除应用程序为后台时出现的单个 fcm 通知?
- tabs - Applescript - 打开一个新标签
- git - 以编程方式获取 git 将使用 `git checkout -` 跳转到的修订版
- php - Laravel,数据表,低效查询