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 普通的链表,初始化后可以通过特 ...
随机推荐
- Pycharm上python和unittest两种姿势傻傻分不清楚
前言 经常有人在群里反馈,明明代码一样的啊,为什么别人的能出报告,我的出不了报告:为什么别人运行结果跟我的不一样啊... 这种问题先检查代码,确定是一样的,那就是运行姿势不对了,一旦导入unittes ...
- Eclipse can not find the tag library descriptor for http://java.sun.com/jsf/*
问题页面: <%@ taglib uri="http://java.sun.com/jsf/core" prefix="f"%> <%@ ta ...
- mac使用备注
快捷键: 掌握好多手势和快捷键可以有效的提高工作效率,触控板和快捷键基本让你可以脱离鼠标. Command+Tab 任意情况下切换应用程序 - 向前循环 Shift ...
- 14 并发编程-(协程)-greenlet模块&gevent模块
1.实现多个任务之间进行切换,yield.greenlet都没有实现检测I/O,greenlet在实现多任务切换下更简单 from greenlet import greenlet def eat(n ...
- 一步一步学习Android开发
一步步踏入Android的阵营. 疑惑篇: gravity和layout_gravity的区别
- go 算法
题目: 请实现一个算法,确定一个字符串的所有字符[是否全都不同].这里我们要求[不允许使用额外的存储结构].给定一个string,请返回一个bool值,true代表所有字符全都不同,false代表存在 ...
- Python运维开发基础07-文件基础
一,文件的基础操作 对文件操作的流程 [x] :打开文件,得到文件句柄并赋值给一个变量 [x] :通过句柄对文件进行操作 [x] :关闭文件 创建初始操作模板文件 [root@localhost sc ...
- Win10 Notebook
E:\Perl\site\bin;E:\Perl\bin;C:\Program Files\Microsoft MPI\Bin\;C:\ProgramData\Oracle\Java\javapath ...
- Java 设计模式系列(二十)状态模式
Java 设计模式系列(二十)状态模式 状态模式,又称状态对象模式(Pattern of Objects for States),状态模式是对象的行为模式.状态模式允许一个对象在其内部状态改变的时候改 ...
- 构建搞性能可扩展asp.net网站文摘
第1章 原则与方法 网页加载的过程: 关注感知性能,减少阻塞调用,减少往返,在所有架构层次采用缓存,优化硬盘I/O 了解浏览器的工作方式,使用ajax,silverlight和纯javascript避 ...