当我想尝试以下版本的python版本时遇到了这个问题:https : //leetcode.com/problems/first-missing-

positive/discuss/17071/My-

short-c++-solution-O(

1)-space- and -准时

我不确定为什么a[0], a[a[0]] = a[a[0]], a[0]不进行交换?

>>> nums

[2, 1, 0]

>>> a = [2,1,0]

>>> a[0], a[a[0]] = a[a[0]], a[0]

>>> a

[2, 1, 0]

>>> a[0]

2

>>> a[0],a[2] = a[2], a[0]

>>> a

[0, 1, 2]

我的猜测是a,b = b的实现,语法类似于:

tmp = a[0] (tmp = 2)

a[0] = a[a[0]] (a[0] = a[2] = 0)

a[a[0]] = tmp (a[a[0]] = a[0] = tmp = 2)

然后,我检查了C 中swap函数的实现。我对C一无所知,但是看起来这个想法是一样的:http

:

//www.cplusplus.com/reference/algorithm/swap/

The behavior of these function templates is equivalent to:

template void swap (T& a, T& b)

{

T c(std::move(a)); a=std::move(b); b=std::move(c);

}

template void swap (T (&a)[N], T (&b)[N])

{

for (size_t i = 0; i

}

我们有c = a,然后a = b和b = a那么,为什么C ++交换函数没有这个问题?以及如何以pythonic方式编写这种交换函数?

python交换函数_python a,b = b,一个实现?它与C ++交换函数有何不同?相关推荐

  1. python怎么调用另一个文件的函数_python如何调用另一个py文件的所有函数?

    慕盖茨4494581 在同一个文件夹下调用函数:A.py文件:B.py文件:或调用类:A.py文件:B.py文件:或在不同文件夹下A.py文件的文件路径:E:\PythonProject\winycg ...

  2. python类中调用另一个程序函数_Python:如何在另一个类中调用函数

    我被一些python脚本困住了 https://python4kids.brendanscott.com/2014/12/02/hooking-up-the-sunfish-chess-engine- ...

  3. python跨文件调用函数_python如何调用另一个py文件的所有函数?

    展开全部 在同一个2113文件夹下 调用5261函数: A.py文件: B.py文件: 或 调用类: A.py文件: B.py文件: 或 在不同文4102件夹下 A.py文件的文件路径:E:\Pyth ...

  4. python超时处理_Python如何实现让一个函数超时退出?

    你的意思是函数一直在做cpu密集型的计算任务吗?可以把任务分割,执行完一个小任务后检查是否超时,超时return,否则继续. 补充: 这样吧 # coding=utf-8 import datetim ...

  5. python计算一元二次_Python小程序-写一个计算一元二次方程的程序函数

    题目要求: 请定义一个函数quadratic(a, b, c),接收3个参数,返回一元二次方程:ax^2 + bx + c = 0的两个解. 程序代码: 这只是一个函数,如果你不调用它的话,是不会产生 ...

  6. python 多线程 类_Python中如何自定义一个多线程类呢?

    摘要: 下文讲述Python中自定义一个多线程类的方法分享,如下所示: 实现思路: 1.定义一个类继承threading.Thread 2.在自定义类中构造函数重写run方法 例: Python3中自 ...

  7. python定义词典_python – 自定义类是一个字典,但初始化没有字典副本?

    出于易读性的目的,我希望有一个自定义类,其行为与dict完全相同(但是带有有意义的类型,而不是更通用的dict类型): class Derivatives(dict): "Dictionar ...

  8. python输入整数_Python中实现输入一个整数的案例

    我就废话不多说了,大家还是直接看代码吧!Y76免费资源网 #! usr/bin/python3.5 # -*- coding:utf-8 -*- a = input("请输入一个整数:&qu ...

  9. c向python注册函数_python如何调用C, 如何注册成C的回调函数(python后台程序常用方法)...

    其实是python后台程序常用方法: C开发完成底层的功能,python直接把C当做python模块进行调用. 需要做两个工作: python能调用C语言的函数: python通过调用C函数,并注册p ...

  10. python 运行时间计算_python计算一段代码的运行时间(类和函数)

    使用python的timeit模块可以轻松的获得一段代码的运行时间. 一.获得一个类的运行时间:import timeit as ti gettime = """ imp ...

最新文章

  1. Git入门教程(上)
  2. java学习之路--零碎的知识笔记
  3. Vue + Spring Boot——axios使用GET以参数的方式传递对象到SpringMVC解决方案
  4. 西安4年java多少时间_西安学习java一般要多久
  5. python对数组的操作_Python对数组的基本操作
  6. truncate table语句和delete table语句的区别
  7. linux下mysql5.7的安装教程_linux下mysql 5.7.18安装教程 邯郸
  8. html5 响应式背景图
  9. Dockerfile 中的命令
  10. windows 默认的 opengl 版本是1.1
  11. 分析微博游戏名人数据
  12. android扫一扫 二维码显示结果中文乱码
  13. linux 连接远程3389,Linux下使用rdesktop连接Windows的3389
  14. win10小娜搜索框搜索无反应
  15. ios silk to MP3
  16. abap 发票冲销VF11的BAPI:BAPI_BILLINGDOC_CANCEL1
  17. 程序员创业的方向选择
  18. 齐博x2如何新增自定义字段
  19. 关于中文的数字转化为阿拉伯的数字的解决方法
  20. 计算机在材料科学中的应用实验心得,计算机在材料科学中的应用.doc

热门文章

  1. python中decode和encode的区别
  2. 将单词的首字母转换成大写
  3. 【转】grep搜索子目录中包含某字符串的特定文件
  4. Windows消息备忘录
  5. ajax回调函数ifelse,实现AJAX及用Promise解决回调函数命名问题
  6. android中string.xml使用总结,string.xml 的作用以及意义——国际化应用
  7. 计算机能力操作系统试题,全国计算机一级考试操作系统论述题及答案
  8. linux jenkins远程脚本,在Jenkins中配置执行远程shell命令(转)
  9. java个人所得税计算_java个人所得税计算器 | 学步园
  10. 【深夜思考】java百度云资源