python for循环写法_python中多重循环的写法
写法 :for i,j,k in product(range(32), range(32),range(32)):
参考:https://segmentfault.com/q/1010000006238665
Python如何同时进行两个循环
想写这样一个逻辑
for i in lit:
for j in lit:
do_something(i, j)
但是感觉这样写好丑,有没有比较优美的写法?
1、用 itertools 的笛卡尔积
from itertools import product
for i, j in product(lit, lit):
do_something(i, j)
product 返回一个生成器,能 yield 出传入数组形成的笛卡尔积。
product 可以接受任意多个数组。
2、我来补上一刀:
# 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')
('!', '!')
3、最近刷了一道leetcode的题目【two sum】,感觉思路很好哇,也和循环有关系。
Giver numers=[2, 7, 11, 15],target=9, because 2+7=9, then return indexs [0,1].
刚开始,想用2重循环做的,发现时间超时(时间复杂度太高)
然后想一下1重循环也可以搞定的,每次记录下你得到的信息(使用map了),减小了时间复杂度。
最好不要用2重循环,感觉好浪费时间哦~
4、izip 不行?
python for循环写法_python中多重循环的写法相关推荐
- python list遍历删除_Python中list循环遍历删除数据的正确方法
前言 初学Python,遇到过这样的问题,在遍历list的时候,删除符合条件的数据,可是总是报异常,代码如下: num_list = [1, 2, 3, 4, 5] print(num_list) f ...
- python中循环结构_python中的循环结构等相关知识
分支结构 1.单分支:一般用于只会发生一种情况的场景,if #90以上优秀 score=95 if score>90: print("优秀") 2.双分支:一般用于会发生两种 ...
- python for循环 内存_python中for循环的内存分配
我对 python的内存使用感到困惑. 我正在运行一个返回pandas数据帧的函数(1161 X 240),参数是(bamfile,pandas.Dataframe(1161 X 50)). 现在我将 ...
- python中while循环并列_Python中while循环的一个问题
匿名用户 1级 2013-08-27 回答 是因为你使用的编译器是python3.x的原因: Python 3.3.1 (default, Apr 17 2013, 22:32:14) [GCC 4. ...
- pythonlist循环添加元素_python中 for循环之后 添加元素到列表失败?
import re ls = list() dc = dict() # 介词.连词.人称代词等自己统计 adverb = ['i', 'you', 'he', 'she', 'it', 'in', ' ...
- Python基础_第3章_Python中的循环结构
Python基础_第3章_Python中的循环结构 文章目录 Python基础_第3章_Python中的循环结构 Python中的循环结构 一.回顾分支练习题 1.判断是否为一个合法三角形 2.求世界 ...
- 我用python是什么梗_Python中的一些梗
在学习python的时候,会有一些梗非常不适应,在此列举列表删除和多重循环退出的例子: 列表删除里面的坑 比如我们有一个列表里面有很多相同的值,假如:nums=[1,6,6,3,6,2,10,2,10 ...
- python算法和数据结构_Python中的数据结构和算法
python算法和数据结构 To 至 Leonardo da Vinci 达芬奇(Leonardo da Vinci) 介绍 (Introduction) The purpose of this ar ...
- scala中循环守卫_Scala中的循环
scala中循环守卫 Scala中的循环 (Loops in Scala) In programming, many times a condition comes when we need to e ...
- python的for语句用法_python中list循环语句用法实例
本文实例讲述了python中list循环语句用法.分享给大家供大家参考.具体用法分析如下: Python 的强大特性之一就是其对 list 的解析,它提供一种紧凑的方法,可以通过对 list 中的每个 ...
最新文章
- 赛门铁克开启“容灾即服务”时代
- 这是我看过关于 volatile 最好的文章
- 大厂面试算法系列-如何实现链表的逆序(一)-原地逆序
- Introduction to Microservices
- html5距离底部的距离代码,如何使距离为HTML5
- 软件开发工具比较 c/c++_做自媒体什么剪辑软件好用,分享几个好用的软件,看看你用过几个...
- AI迎来重要发展契机,开发者的机会在哪里?
- 190703每日一句
- 黑马python24期课件和代码_黑马Python 24期全套教程
- 精灵混合加密系统_混合云的数据备份
- 架构师主要做些什么,你知道吗?
- 运放输入偏置电流方向_运算放大器+仪表放大器:如何为偏置电流提供直流回路?...
- JS正则匹配实例邮箱、手机号、电话、货币
- 转	 C++压缩解压之snappy
- 如何更改Google文档的默认格式设置
- OpenCV学习笔记(6)基于 VC+OpenCV+DirectShow 的多个摄像头同步工作
- Python之排序函数总结
- luoguP4168: [Violet]蒲公英
- 如何用几何画板绘制立体圆锥体
- 我的世界服务器php插件制作教程,我的世界服务器制作教程 服务器怎么做
热门文章
- 我去图书馆-抢座助手
- ubuntu 安装GPU黑屏 修改GRUB_Windows 10 amp; Ubuntu 18.04LTS双系统安装
- 计算机视觉论文-2021-07-21
- 越狱与不越狱的区别 越狱有什么好处 越狱的优点
- ai 自动外呼 微信加好友_制作一个可爱的Pwnagotchi AI好友来自动审核Wi-Fi网络
- ResHacker使用小解
- mzy git学习,分支冲突,以及冲突解决(五)
- 免费万能视频格式转换器是一款功能强大的全能视频格式转换软件,支持多种视频格式转换。万能视频转换器可以将RM、RMVB
- 【SDX62】useradd: group ‘input‘ does not existERROR: libsystemdq: useradd command did not succeed.
- 电脑常见问题:能打开QQ但不能打开网页(DNS问题)