python 笛卡尔积,排列,组合

举报
风吹稻花香 发表于 2021/06/04 22:42:22 2021/06/04
【摘要】   一、【问题】 目前有一字符串s = "['a', 'b'],['c', 'd']",想把它分开成为两个列表: list1 = ['a', 'b']list2 = ['c', 'd'] 之后使用itertools.product()求笛卡尔积,应该写成: for i in itertools.product(list1, list2): pri...

 

一、【问题】

目前有一字符串s = "['a', 'b'],['c', 'd']",想把它分开成为两个列表:


  
  1. list1 = ['a', 'b']
  2. list2 = ['c', 'd']

之后使用itertools.product()求笛卡尔积,应该写成:


  
  1. for i in itertools.product(list1, list2):
  2. print i

结果为:


  
  1. ('a', 'c')
  2. ('a', 'd')
  3. ('b', 'c')
  4. ('b', 'd')

然而使用eval(s)获得的是一个元组。product的参数如果是元组则一定会报错(product的参数是两个列表,每个列表中的元素数量不定)。怎么破?


  
  1. import itertools
  2. list1 = ['a', 'b','c','d']
  3. list2 = ['a', 'b','c', 'd']
  4. for i in itertools.product(list1, list2):
  5. print(i)

('a', 'a')

文章来源: blog.csdn.net,作者:网奇,版权归原作者所有,如需转载,请联系作者。

原文链接:blog.csdn.net/jacke121/article/details/117408548

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。