在Python的入门路上(答篇)……
来源:互联网 发布:关于数据的例子 编辑:程序博客网 时间:2024/05/21 09:05
在Python的入门路上(问篇)……
一、灵活的列表:
#coding=gbk'''需求:初始化一个方阵,要求主对角元素相等,主对角线元素为零。自己想当然地在Python搞个“类C/C++二维数组”,并两层循环地初始化每个元素。[测试环境]:Python 2.7.5 (default, May 15 2013, 22:43:36) [MSC v.1500 32 bit (Intel)] on win32@Author: HuaLingson@Version: 0.1'''#NOTE: 当然存在更优的方法来做,这里的代码仅为说明“类C/C++二维数组”在Python中的不同。N = 3target = [[0]*N]*N #特别是对于‘半桶水’的,喜欢玩点儿小技巧的,肯定会这样print target #[[0, 0, 0], [0, 0, 0], [0, 0, 0]]for x in range(N):for y in range(x):print (x, y), (y, x), xtarget[x][y] = target[y][x] = xprint target #[[2, 2, 2], [2, 2, 2], [2, 2, 2]]#TODO: what is wrong?'''[[0, 0, 0], [0, 0, 0], [0, 0, 0]](1, 0) (0, 1) 1(2, 0) (0, 2) 2(2, 1) (1, 2) 2[[2, 2, 2], [2, 2, 2], [2, 2, 2]]1 None2 2[None, 2, None] 100 [None, 2, None]'''#NONE: ‘[[初始值]*N]*N’定义的‘二维列表’X,X[i][j](0<=i<=j<N)直接赋值是影响X的‘第j列’,与行无关。#NOTE: 想想Java中二维数组的初始化形式~#NOTE: C/C++是一维模拟二维,Java/Python则是采用类似C/C++中的数组指针数组结构。x = [[None]*3]*3x[1][1] = 1print x[0][1], x[1][0] #1 Nonex[0][1] = 2print x[2][1], x[1][1] #2 2x[1] = 100print x[0], x[1], x[2]
0 0
- 在Python的入门路上(答篇)……
- 在Python的入门路上(问篇)……
- 在路上……
- 在IT的路上,我别无选择……
- 走在PD的路上,期待分享……
- 要想升职,在奋斗的路上不应带情绪…
- 孤独走在java入门路上的我
- python阶段小测验-不喜勿喷(奔跑在大佬的路上的第一篇文章)
- 在学习的路上
- 在C的路上
- 在新的路上
- 在工作的路上
- 在开始的路上
- CSDN我在路上……
- Python入门的36个例子——12 Continue —— 路上的跳板(躲过一劫)
- 在路上(1)
- 在通往毕业的路上
- 漫步在致富的路上
- leetcode Path Sum 1.2 难度系数1
- How to install Slackware
- 微软RPC官方教程
- [DFS/BFS]HOJ1797Red and Black
- lua5.2参考手册已经翻译好了
- 在Python的入门路上(答篇)……
- leetcode Two Sum 2.1 难度系数2
- HOW I MADE $2,000,000 IN THE STOCK MARKET
- 【stm32】实现STM32的串口数据发送和printf函数重定向
- 6.linux的文件权限与目录配置
- Java String.Format() 方法及参数 详细说明 总结篇
- 下一步,怎么走——Start Developing iOS Apps Today——从今天开始开发IOS(IOS7版)系列源文档翻译(二十三)
- ASP.NET MVC 客户端验证失败后表单仍然提交问题
- poj - 2155 - Matrix(树状数组)