习惯了java的思想。用java的思想来获取python元组中的数据。结果出错了。

  1. yuanzu_s = ("one", "two", "three", "four",);
  2. print(yuanzu_s[0]);
  3. print(len(yuanzu_s));
  4. print(len(yuanzu_s[0]));
  5. i = 0;
  6. for i in yuanzu_s:
  7. print(len(yuanzu_s[i]));

报一个这样的错误:

  1. Traceback (most recent call last):
  2. File "D:\USER\NetBeansProjects\OnePythonTest\src\OnePythonTest.py", line 65, in <module>
  3. print(len(yuanzu_s[i]));
  4. TypeError: tuple indices must be integers

纠结一会。在JAVA的思想下,逐个去打印某个数组里的数据。只需拿某个数组的下标即可。

没料到在python中,既然不行。。

后来改成了下面的代码 :

  1. yuanzu_s = ("one", "two", "three", "four",);
  2. print(yuanzu_s[0]);
  3. print(len(yuanzu_s));
  4. print(len(yuanzu_s[0]));
  5. i = 0;
  6. for i in yuanzu_s:
  7. print(i);

这样就没有错了。。

呵呵,完全新手帖,我刚自学python没多久。作一个标记。

方法1:自定义异常

  1. # -*- coding:utf-8 -*-
  2. """
  3. 功能:python跳出循环
  4. """
  5. # 方法1:自定义异常
  6. class Getoutofloop(Exception):
  7. pass
  8. try:
  9. for i in range(5):
  10. for j in range(5):
  11. if i == j == 2:
  12. raise Getoutofloop()
  13. else:
  14. print i, '----', j
  15. except Getoutofloop:
  16. pass

方法2:将循环封装为函数,return

  1. # -*- coding:utf-8 -*-
  2. """
  3. 功能:python跳出循环
  4. """
  5. # 方法2:封装为函数,return
  6. def test():
  7. for i in range(5):
  8. for j in range(5):
  9. if i == j == 2:
  10. return
  11. else:
  12. print i, '----', j
  13. test()

方法3:用for...else...语句

  1. # -*- coding:utf-8 -*-
  2. """
  3. 功能:python跳出循环
  4. """
  5. # 方法2:for...else...用法,用于跳出指定循环层
  6. for i in range(5):
  7. for j in range(5):
  8. for k in range(5):
  9. if i == j == k == 3:
  10. break
  11. else:
  12. print i, '----', j, '----', k
  13. else:        # else1
  14. continue
  15. break        # break1
  16. else:            # else2
  17. continue
  18. 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举例

    1. # -*- coding:utf-8 -*-
    2. """
    3. 功能:for...else语句
    4. """
    5. for i in range(5):
    6. print i
    7. else:
    8. print u"循环完整执行一次。"
    9. for j in range(6):
    10. for k in range(6):
    11. print j, k
    12. if j == 3:
    13. print u"内重循环即将被break"
    14. break
    15. else:
    16. print u"内重循环完整执行一次。"
    17. else:
    18. print u"外重循环完整执行一次。"

Python 日常学习的更多相关文章

  1. 【原】Learning Spark (Python版) 学习笔记(三)----工作原理、调优与Spark SQL

    周末的任务是更新Learning Spark系列第三篇,以为自己写不完了,但为了改正拖延症,还是得完成给自己定的任务啊 = =.这三章主要讲Spark的运行过程(本地+集群),性能调优以及Spark ...

  2. 60分钟Python快速学习(给发哥一个交代)

    60分钟Python快速学习 之前和同事谈到Python,每次下班后跑步都是在听他说,例如Python属于“胶水语言啦”,属于“解释型语言啦!”,是“面向对象的语言啦!”,另外没有数据类型,逻辑全靠空 ...

  3. python爬虫学习(1) —— 从urllib说起

    0. 前言 如果你从来没有接触过爬虫,刚开始的时候可能会有些许吃力 因为我不会从头到尾把所有知识点都说一遍,很多文章主要是记录我自己写的一些爬虫 所以建议先学习一下cuiqingcai大神的 Pyth ...

  4. python爬虫学习 —— 总目录

    开篇 作为一个C党,接触python之后学习了爬虫. 和AC算法题的快感类似,从网络上爬取各种数据也很有意思. 准备写一系列文章,整理一下学习历程,也给后来者提供一点便利. 我是目录 听说你叫爬虫 - ...

  5. python日常-list and dict

    什么是list: list 觉得算是python日常编程中用的最多的python自带的数据结构了.但是python重的list跟其他语言中的并不相同. 少年..不知道你听说过python中的appen ...

  6. Python正则表达式学习摘要及资料

    摘要 在正则表达式中,如果直接给出字符,就是精确匹配. {m,n}? 对于前一个字符重复 m 到 n 次,并且取尽可能少的情况 在字符串'aaaaaa'中,a{2,4} 会匹配 4 个 a,但 a{2 ...

  7. python 线程学习

    彩照 一.学习[1] # -*- coding: utf-8 -*- import time import thread def timer(no, interval): cnt = 0 while ...

  8. Openstack python api 学习文档 api创建虚拟机

    Openstack python api 学习文档 转载请注明http://www.cnblogs.com/juandx/p/4953191.html 因为需要学习使用api接口调用openstack ...

  9. !!对python列表学习整理列表及数组详细介绍

    1.Python的数组分三种类型:(详细见 http://blog.sina.com.cn/s/blog_6b783cbd0100q2ba.html) (1) list 普通的链表,初始化后可以通过特 ...

随机推荐

  1. Python Web框架——Flask

    简介 Flask是一个基于Python开发并且依赖jinja2模板和Werkzeug WSGI服务的一个微型框架,对于Werkzeug本质是Socket服务端,其用于接收http请求并对请求进行预处理 ...

  2. ArrayList实现

    数组实现父类:AbstractList接口:List,RandomAccess,Cloneable,Serializable字段://默认容量private static final int DEFA ...

  3. DB2 数据类型转换

    db2数据类型转换: 1.CAST() CAST (<expression> AS <data_ type>[ length ]) 2.CONVERT() CONVERT (& ...

  4. python's nonlocal

    [python's nonlocal] nonlocal是python3.x中新加的关键字,用于引用本作用域外层作用域的名字 参考:http://blog.csdn.net/chain2012/art ...

  5. ubuntu14.04环境下利用docker搭建solrCloud集群

    在Ubuntu14.04操作系统的宿主机中,安装docker17.06.3,将宿主机的操作系统制作成docker基础镜像,之后使用自制的基础镜像在docker中启动3个容器,分配固定IP,再在3个容器 ...

  6. Django基础学习七之如何配置django+mysql

    很久没有更新博客了,也有段时间没有持续性的学习了,感觉堕落了,今天继续开始学习吧 今天主要来学习一下在django下配置mysql的数据库和使用admin用户管理数据库 1.在project中的set ...

  7. 利用WKWebView实现js与OC交互注意事项

    最近在写一些关于wkwebview的一些代码,发现了几点心得,记录一下. 1.js调用OC 我是利用wkwebview进行的开发实现,主要代码有三部分 1.向config注入OC对象 [config. ...

  8. datagridview paging

    http://www.codeproject.com/Articles/211551/A-Simple-way-for-Paging-in-DataGridView-in-WinForm

  9. 洛谷 P2899 [USACO08JAN]手机网络Cell Phone Network(树形动规)

    题目描述 Farmer John has decided to give each of his cows a cell phone in hopes to encourage their socia ...

  10. [Training Video - 1] [Selenium Basics] [Download and Install Selenium]

    Download Selenium Jars Configure jars in eclipse Webdriver http://docs.seleniumhq.org/download/ Sele ...