找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 30234|回复: 14

[技术讨论] Python脚本交换两个变量的值不用中间变量真是方便

[复制链接]
发表于 2012-3-17 13:05:06 | 显示全部楼层 |阅读模式
>>> x, y = 1, 2
>>> x
1
>>> y
2
>>> y, x = x, y
>>> x
2
>>> y
1
发表于 2012-3-17 13:45:28 | 显示全部楼层
昨晚看了下pyhon,不懂好学不。
 楼主| 发表于 2012-3-17 14:47:21 | 显示全部楼层
回复 2# cjiabing


我也刚学,还没有遇到什么困难。
发表于 2012-3-17 15:20:52 | 显示全部楼层
回复 3# Python


    对自然语言处理怎么样?
 楼主| 发表于 2012-3-17 16:15:48 | 显示全部楼层
回复 4# cjiabing


不知道什么是自然语言
发表于 2012-3-17 20:38:29 | 显示全部楼层
py的批量赋值很方便。
 楼主| 发表于 2012-3-17 21:36:58 | 显示全部楼层
回复 6# applba


是的。书上还说建议使用括号,提高可读性。
>>> (x, y) = (1, 2)
>>> x
1
>>> y
2
发表于 2012-3-18 19:17:32 | 显示全部楼层
自然语言处理_百度百科
http://baike.baidu.com/view/18784.htm
请用python对下面的语句进行分词:
  1. 工信处女干事每月经过下属科室都要亲口交代二十四口交换机等技术性器件的安装工作
复制代码
分词的结果应该符号人类的理解,比如“华为二十四口交换机”的分词结果应该是“华为-二十四口-交换机”而非“华为-二十四——口交——换机”

中文搜索目前的搜索技术都是建立在字母文字的索引技术基础上的,中文不是字母文字。因此,关键词技术 虽然在现代的白话文中有效,但分词技术依然非常初级。就像“二十四口交换机”可以分出“口交”这样的词非常滑稽一样。分词技术不仅关乎搜索结果, 内容检索的准确性,更关乎到知识库的建立方式,以及建设效率。
 楼主| 发表于 2012-3-19 18:31:58 | 显示全部楼层
回复 8# cjiabing


感觉这个是跟算法相关的,跟具体的实现语言关系不是很大。
只要有算法,用什么来实现都无所谓(当然越底层的语言执行效率越高)。
发表于 2012-4-3 12:44:11 | 显示全部楼层
回复 1# Python


    其他语言也可以不用中间变量交换两个值
  1. x=x+y
  2. y=x-y
  3. x=x-y
复制代码
 楼主| 发表于 2012-4-3 13:07:28 | 显示全部楼层
回复 10# ivor


此贴的重点在于“真是方便”这四个字
发表于 2012-4-3 13:24:45 | 显示全部楼层
本帖最后由 neorobin 于 2012-4-3 14:07 编辑

支持位运算的语言都可以用 3 次异或交换两个变量的数值, 也不用中间变量
cmd 示例:
  1. set /a "x^=y, y^=x, x^=y"
复制代码
刚看了下 Python, 这样应该可以:
  1. a^=b;b^=a;a^=b
复制代码
发表于 2012-4-3 14:15:42 | 显示全部楼层
回复 9# Python

自然语言和计算机语言相比存在太多上下文相关性, 歧义性, 想用现有的技术让机器来理解人类语言还是太难, 打个比方, 现在再好的算法也顶多相当于一个婴儿对语言的能力.
不考虑机器对数据的海量处理能力, 其语言理解能力连一个 3 岁的幼儿也比不上.
 楼主| 发表于 2012-4-3 15:21:25 | 显示全部楼层
回复 12# neorobin


甭管加减乘除等各种运算(先不说值为0的情况)、甚至汇编里面的各种寄存器,这些交换的方法显然没有Python这么简明,哈哈。
 楼主| 发表于 2012-4-3 15:23:40 | 显示全部楼层
回复 13# neorobin


我对这个没有任何兴趣,也许你该和4楼的朋友聊一聊。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-16 23:37 , Processed in 0.021717 second(s), 8 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表