习惯了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. 1.1_C语言概述

    C语言概述 1.1 什么是C语言 一提到语言这个词语,自然会想到的是像英语.汉语等这样的自然语言,因为它是人和人交换信息不可缺少的工具. 而今天计算机遍布了我们生活的每一个角落,除了人和人的相互交流之 ...

  2. leetcode654

    class Solution { public: TreeNode* constructMaximumBinaryTree(vector<int>& nums) { ) retur ...

  3. 跟我学算法-图像识别之图像分类(下)(GoogleNet网络, ResNet残差网络, ResNext网络, CNN设计准则)

    1.GoogleNet 网络: Inception V1 - Inception V2 - Inception V3 - Inception V4 1. Inception v1 split - me ...

  4. ajax的post请求方式

    <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"% ...

  5. 邮槽 匿名管道 命名管道 剪贴板 进程通讯 转自http://www.cnblogs.com/kzloser/archive/2012/11/04/2753367.html#

    邮槽 通信流程: 服务器 客户端 注意: 邮槽是基于广播通信体系设计出来的,它采用无连接的不可靠的数据传输 邮槽可以实现一对多的单向通信,我们可以利用这个特点编写一个网络会议通知系统,而且实现这一的系 ...

  6. Differential expression analysis for paired RNA-seq data 成对RNA-seq数据的差异表达分析

    Differential expression analysis for paired RNA-seq data 抽象背景:RNA-Seq技术通过产生序列读数并在不同生物条件下计数其频率来测量转录本丰 ...

  7. 报错提示:mysqli_fetch_array() expects parameter 1 to be mysqli_result, boolean given in..的处理方式

    PHP操作数据库的时候如果出现报错: mysqli_fetch_array() expects parameter 1 to be mysqli_result, boolean given in.. ...

  8. 现在有很多第三方的SDK来做直播,那么我们改选择哪一种?

    现在大部分的都会借助第三方的直播技术,这样可以保证直播的质量,趣拍直播就很不错,SDK很好集成,芒果直播也在用.下面来分析一下趣拍直播的一些心得. 如何快速搭建一个完整的手机直播系统 在这个直播如火如 ...

  9. Workflow笔记2——状态机工作流(转)

    出处:http://www.cnblogs.com/jiekzou/p/6192813.html 在上一节Workflow笔记1——工作流介绍中,介绍的是流程图工作流,后来微软又推出了状态机工作流,它 ...

  10. C程序设计语言(2)文摘

    第一章 导言 1.1 入门 1.2 变量与算术表达式 1.3 for语句 1.4 符号常量 1.5 字符输入输出 #include "stdafx.h" main(int argc ...