习惯了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. ES6系列_16之模块化操作

    ES6的模块化操作主要包括两个方面. (1)export :负责进行模块化,也是模块的输出. (2)import : 负责把模块引,也是模块的引入操作. export的用法: export可以让我们把 ...

  2. leetcode112

    /** * Definition for a binary tree node. * public class TreeNode { * public int val; * public TreeNo ...

  3. LevelDB Cache

    [LevelDB Cache] The contents of the database are stored in a set of files in the filesystem and each ...

  4. java集合:常用集合的数据结构

    List 有序可重复 ArrayList ArrayList数据结构是数组.查询快,增删慢.ArrayList是线程不安全的,允许元素为null . Vector 线程安全的数组,效率较差,已经过时不 ...

  5. 08-SSH综合案例:前台用户模块:注册页面的前台JS校验

    这个是MyEclipse设置的问题 把设置去掉就没问题了. 你也可以在每一个input后面加个span来显示提示的信息.这些东西也要提交到后台,后台也是要对这些东西进行校验的.

  6. 把CString转化为char*

    转:http://blog.sina.com.cn/s/blog_58e19ae7010003jt.html 正确方法:CString m_Head:char *codefile;codefile=( ...

  7. git 本地忽略某些个文件

    git update-index --assume-unchanged <要忽略的文件> git update-index --no-assume-unchanged <要取消忽略的 ...

  8. 微信小程序通讯录首字母索引效果,车辆品牌选择列表

    效果图: wxml代码: <block wx:for="{{list}}"> <view class='letter' id="letter{{inde ...

  9. Git学习笔记——从一台电脑上传文件到Github上

    目标:从一台电脑上传文件到Github上 前提: 1.这里假定已在Github上创建了仓库,建立了仓库 2.已在这台电脑上安装了Git客户端 实验环境: 1.Windows 10 64位,已安装了Gi ...

  10. NoSQL数据库笔谈

    NoSQL数据库笔谈 databases , appdir , node , paper颜开 , v0.2 , 2010.2 序 思想篇 CAP 最终一致性 变体 BASE 其他 I/O的五分钟法则 ...