想写这样一个逻辑

for i in lit:

for j in lit:

do_something(i, j)

但是感觉这样写好丑,有没有比较优美的写法?

itertools

的笛卡尔积

from itertools import product

for i, j in product(lit, lit):

do_something(i, j)

product

返回一个生成器,能

yield

出传入数组形成的笛卡尔积。

product

可以接受任意多个数组。

我来补上一刀:

# coding=utf-8

def unique_pairs(n):

"""一个贱贱的生成器"""

for i in n:

for j in n:

yield i, j

lit = "hey!"

for i, j in unique_pairs(lit):

print(i, j)

unique_pairs

接收一个可迭代的对象, 返回一个生成器, 能输出接收迭代对象所有迭代元素可能的笛卡尔积

本质上还是双重循环, 但是自我感觉良好, 可复用

代码输出:

('h', 'h')

('h', 'e')

('h', 'y')

('h', '!')

('e', 'h')

('e', 'e')

('e', 'y')

('e', '!')

('y', 'h')

('y', 'e')

('y', 'y')

('y', '!')

('!', 'h')

('!', 'e')

('!', 'y')

('!', '!')

最近刷了一道leetcode的题目【two sum】,感觉思路很好哇,也和循环有关系。

Giver numers=[2, 7, 11, 15],target=9, because 2+7=9, then return indexs [0,1].

刚开始,想用2重循环做的,发现时间超时(时间复杂度太高)

然后想一下1重循环也可以搞定的,每次记录下你得到的信息(使用map了),减小了时间复杂度。

最好不要用2重循环,感觉好浪费时间哦~

izip 不行?

python双循环zip_Python如何同时进行两个循环相关推荐

  1. python双循环zip_Python 并行遍历zip()函数使用方法

    今天我们要讲主题是python并行遍历zip()函数使用方法.在讲range()函数使用方法时我们知道了,range()可以在for循环中是以非完备的方式遍历序列,那么zip()并行遍历又是怎么工作的 ...

  2. 简单介绍python连接telnet和ssh的两种方式

    本文主要介绍了python连接telnet和ssh的两种方式,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下 Telnet 连接方式 #!/usr/bin/env p ...

  3. python中使用zip函数基于两个列表数据list创建字典dict数据(Create a dictionary by passing the output of zip to dict)

    python中使用zip函数基于两个列表数据list创建字典dict数据(Create a dictionary by passing the output of zip to dict) 目录

  4. python要学多久-python需要学多久?自学两年也很难达到企业标准!

    原标题:python需要学多久?自学两年也很难达到企业标准! python学习需要多久?这是许多初学者都关心的问题.的确,零基础学习python是非常不错的选择,Python功能强大.语法简单.上手容 ...

  5. python 读取wav 音频文件的两种方式

    python 中,常用的有两种可以读取wav音频格式的方法,如下所示: 1 import scipy 2 from scipy.io import wavfile 3 4 import soundfi ...

  6. python为什么closed_为什么python类的函数被调用两次[关闭](Why a function of python class is called twice [closed])...

    为什么python类的函数被调用两次[关闭](Why a function of python class is called twice [closed]) 我遇到了两次调用的python类函数的问 ...

  7. 20190508——python基础(if...in...循环语句、while循环、两种循环对比)

    二.python基础(if...in...循环语句.while循环.两种循环对比) 1.for...in...循环语句 1)for循环:空房间 # 空房间的学名叫[元素](item),因为英文是ite ...

  8. python repair修复功能_详解Python修复遥感影像条带的两种方式

    GDAL修复Landsat ETM+影像条带 Landsat7 ETM+卫星影像由于卫星传感器故障,导致此后获取的影像出现了条带.如下图所示, 影像中均匀的布满条带. 使用GDAL修复影像条带的代码如 ...

  9. 奇怪,有的Python函数或方法调用需要两对括号?

    本文源自于一位读者的问题:为啥有的函数或方法调用要使用两对括号呢? 但是在我的印象里并没有这种用法啊.于是我简单扫了一眼代码,发现这位朋友说的并不是函数调用需要两对括号,而是使用元组做函数或方法的参数 ...

最新文章

  1. 模式 - 收藏集 - 掘金
  2. V3S拍照上传又拍云bug排查过程
  3. python负数取余 整除运算
  4. linux c之使用#define定义多行函数总结
  5. RESTful开发风格
  6. 页表长度和页表大小_linux内核页表映射机制:线性地址如何转为物理地址?
  7. feedback vertex set problem (FVS) 反馈顶点集问题 是什么
  8. 收藏 | 史上最详细的 Landsat 1-9 系列数据集介绍~
  9. 2022-2027年中国家用清洁产品行业发展监测及投资战略研究报告
  10. 2016届毕业设计(论文) 基本规范及档案袋封面填写要求
  11. 关于checksum校验和算法
  12. JAVA编写元音字母(Switch语句)
  13. logTracker错误日志跟踪组件(二)
  14. !!return——执行了return语句,后面的语句将不会执行!!
  15. MATLAB机器学习进阶
  16. JS--数据类型--渡一教育(视频笔记)
  17. FreeBSD硬盘分区和数据迁移相关资料
  18. 网易云音乐、QQ音乐等映射网络路径(下载选SQ或者hires即可 其他太大了……)
  19. 爬虫(9) - Scrapy框架(1) | Scrapy 异步网络爬虫框架
  20. CE与欧盟指令(转载)

热门文章

  1. 计算机应用基础任务化教程知识点,计算机应用基础任务化教程
  2. mysql安全性实验心得_mysql安全小结
  3. 如何在python中构造想要的时间戳参数
  4. Python中创建单例模式的六种方式
  5. Python基础教程:如何打破while循环?
  6. python中的函数def和函数的参数
  7. Python 模块初始化的时候,发生了什么?
  8. 基于Django的乐观锁与悲观锁解决订单并发问题的一点浅见
  9. spark executor内存分配_二十二、Spark之图解Executor端内存管理
  10. html隐藏元素的方式,Web前端:CSS3——3种隐藏元素方法的区别