Python 日常学习
习惯了java的思想。用java的思想来获取python元组中的数据。结果出错了。
- yuanzu_s = ("one", "two", "three", "four",);
 - print(yuanzu_s[0]);
 - print(len(yuanzu_s));
 - print(len(yuanzu_s[0]));
 - i = 0;
 - for i in yuanzu_s:
 - print(len(yuanzu_s[i]));
 
报一个这样的错误:
- Traceback (most recent call last):
 - File "D:\USER\NetBeansProjects\OnePythonTest\src\OnePythonTest.py", line 65, in <module>
 - print(len(yuanzu_s[i]));
 - TypeError: tuple indices must be integers
 
纠结一会。在JAVA的思想下,逐个去打印某个数组里的数据。只需拿某个数组的下标即可。
没料到在python中,既然不行。。
后来改成了下面的代码 :
- yuanzu_s = ("one", "two", "three", "four",);
 - print(yuanzu_s[0]);
 - print(len(yuanzu_s));
 - print(len(yuanzu_s[0]));
 - i = 0;
 - for i in yuanzu_s:
 - print(i);
 
这样就没有错了。。
呵呵,完全新手帖,我刚自学python没多久。作一个标记。
方法1:自定义异常
- # -*- coding:utf-8 -*-
 - """
 - 功能:python跳出循环
 - """
 - # 方法1:自定义异常
 - class Getoutofloop(Exception):
 - pass
 - try:
 - for i in range(5):
 - for j in range(5):
 - if i == j == 2:
 - raise Getoutofloop()
 - else:
 - print i, '----', j
 - except Getoutofloop:
 - pass
 
方法2:将循环封装为函数,return
- # -*- coding:utf-8 -*-
 - """
 - 功能:python跳出循环
 - """
 - # 方法2:封装为函数,return
 - def test():
 - for i in range(5):
 - for j in range(5):
 - if i == j == 2:
 - return
 - else:
 - print i, '----', j
 - test()
 
方法3:用for...else...语句
- # -*- coding:utf-8 -*-
 - """
 - 功能:python跳出循环
 - """
 - # 方法2:for...else...用法,用于跳出指定循环层
 - for i in range(5):
 - for j in range(5):
 - for k in range(5):
 - if i == j == k == 3:
 - break
 - else:
 - print i, '----', j, '----', k
 - else: # else1
 - continue
 - break # break1
 - else: # else2
 - continue
 - break # break2
 
方法3解释:
(1)break能跳出某一重循环(该重循环的本次及剩余次数都不再执行),但并不能跳出该重循环的其他外重循环。
例如,最内第3重循环break之后,程序返回第2重循环继续执行第2重的下一次,然后第3重循环将再次执行。
(2)continue是跳过某一重循环的某一次,但该重循环的剩余次数会继续执行。
(3)for...else:其中else块中的语句将在for循环完整执行过之后才会被执行,如果for循环被break,则else块将不会被执行。
(4)方法3中,当第3重循环满足i == j == k ==3时,第3重循环被break,则并列的else1将跳过,执行break1,导致第2重循环
被终止,则else2被跳过,执行break2,导致第1重循环被终止。
最终实现跳出整个循环。
for...else加break举例:
- # -*- coding:utf-8 -*-
 - """
 - 功能:for...else语句
 - """
 - for i in range(5):
 - print i
 - else:
 - print u"循环完整执行一次。"
 - for j in range(6):
 - for k in range(6):
 - print j, k
 - if j == 3:
 - print u"内重循环即将被break"
 - break
 - else:
 - print u"内重循环完整执行一次。"
 - else:
 - print u"外重循环完整执行一次。"
 
Python 日常学习的更多相关文章
- 【原】Learning Spark (Python版) 学习笔记(三)----工作原理、调优与Spark SQL
		
周末的任务是更新Learning Spark系列第三篇,以为自己写不完了,但为了改正拖延症,还是得完成给自己定的任务啊 = =.这三章主要讲Spark的运行过程(本地+集群),性能调优以及Spark ...
 - 60分钟Python快速学习(给发哥一个交代)
		
60分钟Python快速学习 之前和同事谈到Python,每次下班后跑步都是在听他说,例如Python属于“胶水语言啦”,属于“解释型语言啦!”,是“面向对象的语言啦!”,另外没有数据类型,逻辑全靠空 ...
 - python爬虫学习(1) —— 从urllib说起
		
0. 前言 如果你从来没有接触过爬虫,刚开始的时候可能会有些许吃力 因为我不会从头到尾把所有知识点都说一遍,很多文章主要是记录我自己写的一些爬虫 所以建议先学习一下cuiqingcai大神的 Pyth ...
 - python爬虫学习 —— 总目录
		
开篇 作为一个C党,接触python之后学习了爬虫. 和AC算法题的快感类似,从网络上爬取各种数据也很有意思. 准备写一系列文章,整理一下学习历程,也给后来者提供一点便利. 我是目录 听说你叫爬虫 - ...
 - python日常-list and dict
		
什么是list: list 觉得算是python日常编程中用的最多的python自带的数据结构了.但是python重的list跟其他语言中的并不相同. 少年..不知道你听说过python中的appen ...
 - Python正则表达式学习摘要及资料
		
摘要 在正则表达式中,如果直接给出字符,就是精确匹配. {m,n}? 对于前一个字符重复 m 到 n 次,并且取尽可能少的情况 在字符串'aaaaaa'中,a{2,4} 会匹配 4 个 a,但 a{2 ...
 - python 线程学习
		
彩照 一.学习[1] # -*- coding: utf-8 -*- import time import thread def timer(no, interval): cnt = 0 while ...
 - Openstack python api 学习文档   api创建虚拟机
		
Openstack python api 学习文档 转载请注明http://www.cnblogs.com/juandx/p/4953191.html 因为需要学习使用api接口调用openstack ...
 - !!对python列表学习整理列表及数组详细介绍
		
1.Python的数组分三种类型:(详细见 http://blog.sina.com.cn/s/blog_6b783cbd0100q2ba.html) (1) list 普通的链表,初始化后可以通过特 ...
 
随机推荐
- ES6系列_16之模块化操作
			
ES6的模块化操作主要包括两个方面. (1)export :负责进行模块化,也是模块的输出. (2)import : 负责把模块引,也是模块的引入操作. export的用法: export可以让我们把 ...
 - leetcode112
			
/** * Definition for a binary tree node. * public class TreeNode { * public int val; * public TreeNo ...
 - LevelDB Cache
			
[LevelDB Cache] The contents of the database are stored in a set of files in the filesystem and each ...
 - java集合:常用集合的数据结构
			
List 有序可重复 ArrayList ArrayList数据结构是数组.查询快,增删慢.ArrayList是线程不安全的,允许元素为null . Vector 线程安全的数组,效率较差,已经过时不 ...
 - 08-SSH综合案例:前台用户模块:注册页面的前台JS校验
			
这个是MyEclipse设置的问题 把设置去掉就没问题了. 你也可以在每一个input后面加个span来显示提示的信息.这些东西也要提交到后台,后台也是要对这些东西进行校验的.
 - 把CString转化为char*
			
转:http://blog.sina.com.cn/s/blog_58e19ae7010003jt.html 正确方法:CString m_Head:char *codefile;codefile=( ...
 - git  本地忽略某些个文件
			
git update-index --assume-unchanged <要忽略的文件> git update-index --no-assume-unchanged <要取消忽略的 ...
 - 微信小程序通讯录首字母索引效果,车辆品牌选择列表
			
效果图: wxml代码: <block wx:for="{{list}}"> <view class='letter' id="letter{{inde ...
 - Git学习笔记——从一台电脑上传文件到Github上
			
目标:从一台电脑上传文件到Github上 前提: 1.这里假定已在Github上创建了仓库,建立了仓库 2.已在这台电脑上安装了Git客户端 实验环境: 1.Windows 10 64位,已安装了Gi ...
 - NoSQL数据库笔谈
			
NoSQL数据库笔谈 databases , appdir , node , paper颜开 , v0.2 , 2010.2 序 思想篇 CAP 最终一致性 变体 BASE 其他 I/O的五分钟法则 ...