习惯了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. uwsgi的python2+3多版本共存实操使用virtualenv

    1首先,机器需要有python2和python3的可执行环境.确保pip和pip3命令可用.原理就是在哪个环境下安装uwsgi.uwsgi启动的时候,就用的哪个python版本 2安装virtuale ...

  2. 由python的math.log想到的问题

    result = math.log(243,3) print(result) 输出5.0 print("%f"%result) 还是输出5.0 看出问题了吗?对,没错.int(5. ...

  3. python类静态变量

    python的类静态变量直接定义在类中即可,不需要修饰符,如: 1 class Test: stc_attr = 1 def __init__(self,attr1,attr2): self.attr ...

  4. Nginx 系统维护配置

    转自:http://blog.csdn.net/kkgbn/article/details/52153383 tomcat关闭后 请求返回502状态码 error_page /.html; locat ...

  5. UNITY 打APK是如何确定哪些资源有用哪些无用的

    一切从build settings开始,它即是 构建列表,构建运行包当然从它开始. 1,只有在构建列表中的场景和场景引用资源才会被打进包里,其它资源除了2,3位置都不会被打包 2,streamming ...

  6. spring错误处理 Build path is incomplete. Cannot find class file for org.springframework.aop.Advisor

    Build path is incomplete. Cannot find class file for org.springframework.aop.Advisor 初学spring,记录一下出现 ...

  7. js中元素结点的引用

    <!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8" ...

  8. 对List集合进行排序

    一.说明 使用Collections工具类的sort方法对list进行排序 新建比较器Comparator 二.代码 排序: import java.util.ArrayList; import ja ...

  9. leetcode 21 Merge Two Sorted Lists 合并两个有序链表

    描述: 合并两个有序链表. 解决: ListNode* mergeTwoLists(ListNode* l1, ListNode* l2) { if (!l1) return l2; if (!l2) ...

  10. [leetcode]121. Best Time to Buy and Sell Stock 最佳炒股时机

    Say you have an array for which the ith element is the price of a given stock on day i. If you were ...