首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何通过它自己的索引或python中的一些值减去元组的元素

如何通过它自己的索引或python中的一些值减去元组的元素
EN

Stack Overflow用户
提问于 2017-06-15 00:48:59
回答 2查看 175关注 0票数 0
代码语言:javascript
复制
R = [(1, 2,3,4), (1, 3), (1, 4), (1,4, 5), (1, 6), (2, 3), (2, 4), (2, 5), (2, 6), (3, 4), (3, 5), (3, 6), (4, 5), (4, 6), (5, 6)]

从上面的集合中,我只想从元组的每个元素中减去索引或任何值。

而预期的答案是

代码语言:javascript
复制
#R = [(1-0, 2-0,3-0,4-0), (1-1, 3-1), (1-2, 4-2) and so on

以下是我的代码,但我想以最简单的方式使用它,请帮助

代码语言:javascript
复制
final_matches = {k: v for k,v in matches.items() if len(v) >= 4}

    for k, v in matches.items():
        if len(v) >= 3:
            print(k,':',v,'/',len(v))
            #for j in range(0,len(v)):
                #print(v[j])
EN

回答 2

Stack Overflow用户

发布于 2017-06-15 00:54:44

您可以尝试这样做:

代码语言:javascript
复制
R = [(1, 2,3,4), (1, 3), (1, 4), (1,4, 5), (1, 6), (2, 3), (2, 4), (2, 5), (2, 6), (3, 4), (3, 5), (3, 6), (4, 5), (4, 6), (5, 6)]

new_list = [tuple(c-i for c in a) for i, a in enumerate(R)]

仅获取长度为3的元组:

代码语言:javascript
复制
new_list = [i for i in new_list if len(i) >= 3]

最终输出:

代码语言:javascript
复制
[(1, 2, 3, 4), (-2, 1, 2)]
票数 1
EN

Stack Overflow用户

发布于 2017-06-15 09:06:08

当你遍历字典时,v[:] = [x - k for x in v]可以做到这一点。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44550486

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档