range()python

1.Python range() 函数的用法?

4.3. range() 函数

如果你需要一个数字序列,内置函数 range() 会很方便,它生成一个等差级数链表:

>>> for i in range(5):

print(i)

range(10) 生成了一个包含 10 个值的链表,他用链表的索引值填充了这个长度为 10 的列表,所生成的链表中不包括范围中的结束值。也可以让 range() 操作从另一个数字开始,或者可以指定一个不同的步进值(甚至是负数,有时这也被称为 “步长”):

range(5, 10)

5 through 9

range(0, 10, 3)

0, 3, 6, 9

range(-10, -100, -30)

-10, -40, -70

需要迭代链表索引的话,如下所示结合使 用 range() 和 len()

>>> a = ['Mary', 'had', 'a', 'little', 'lamb']

>>> for i in range(len(a)):

print(i, a[i])

0 Mary

1 had

2 a

3 little

4 lamb

不过,这种场合可以方便地使用 enumerate(),请参见 循环技巧。

如果你只是打印一个序列的话会发生奇怪的事情:

>>> print(range(10))

range(0, 10)

在不同方面 range() 函数返回的对象表现为它是一个列表,但事实上它并不是。当你迭代它时,它是一个能够像期望的序列返回连续项的对象;但为了节省空间,它并不真正构造列表。

我们称此类对象是 可迭代的,即适合作为那些期望从某些东西中获得连续项直到结束的函数或结构的一个目标(参数)。我们已经见过的 for 语句就是这样一个迭代器。list() 函数是另外一个( 迭代器 ),它从可迭代(对象)中创建列表:

2.python不可变性和可变性的区别

Python中的元组是一种类似于列表的容器类型,但列表是可变的而元组不可变。

元组本身是不可变的,但是它所包含的元素的可变性取决于该元素的属性。如:t = (17, 'Jesse', ('LinuxKernel', 'Python'), [17, 'Jesse']) 元组t中的元素数字17和字符串'Jesse'以及元组('LinuxKernel', 'Python')本身属于不可变元素,故其在元组中不可更新;但是其中包含的列表[17, 'Jesse']本身属于可变元素,故:>>> t = (17, 'Jesse', ('LinuxKernel', 'Python'), [17, 'Jesse'])>>> t(17, 'Jesse', ('LinuxKernel', 'Python'), [17, 'Jesse'])>>> t[0] = 18 Traceback (most recent call last):File "", line 1, in TypeError: 'tuple' object does not support item assignment>>> t[3] [17, 'Jesse']>>> t[3][0] = 21>>> t(17, 'Jesse', ('LinuxKernel', 'Python'), [21, 'Jesse']) 由于元组的不可变性,所以它也没有列表的一些能改变自身的方法,如sort或reverse等(元组中的元素根据其本身属性可能有)。

列表的一些属性和方法:>>> dir(list) ['__add__', '__class__', '__contains__', '__delattr__', '__delitem__', '__delslice__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__getitem__', '__getslice__', '__gt__', '__hash__', '__iadd__', '__imul__', '__init__', '__iter__', '__le__', '__len__', '__lt__', '__mul__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__reversed__', '__rmul__', '__setattr__', '__setitem__', '__setslice__', '__sizeof__', '__str__', '__subclasshook__', 'append', 'count', 'extend', 'index', 'insert', 'pop', 'remove', 'reverse', 'sort'] 元组的一些属性和方法:>>> dir(tuple) ['__add__', '__class__', '__contains__', '__delattr__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__getitem__', '__getnewargs__', '__getslice__', '__gt__', '__hash__', '__init__', '__iter__', '__le__', '__len__', '__lt__', '__mul__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__rmul__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', 'count', 'index'] 通过比较两者的属性和方法,可以验证上一结论。虽然列表与元组有些不同,但是它们还是有很多相似的地方:1. 创建方法类似:创建一个列表:l = [123, 'abc' , (1, 2, 3)] 创建一个元组:t = (123, 'abc', (1, 2, 3))2. 都支持下标操作:>>> l[1]'abc'>>> t[1]'abc'3. 都支持切片操作:>>> l[0:-1] [123, 'abc']>>> t[0:-1](123, 'abc')4. 支持重复操作:>>> l * 2 [123, 'abc', (1, 2, 3), 123, 'abc', (1, 2, 3)]>>> t * 2(123, 'abc', (1, 2, 3), 123, 'abc', (1, 2, 3))5. 支持连接操作(当然只能由同类型连接):>>> l + [3, 7, 6] [123, 'abc', (1, 2, 3), 3, 7, 6]>>> t + (3, 7, 6)(123, 'abc', (1, 2, 3), 3, 7, 6)6. 还有拷贝,比较,成员关系操作等等。

range()python

转载请注明出处编程代码网 » range()python

资讯

python==是什么意思

阅读(34)

本文主要为您介绍python==是什么意思,内容包括python中*=是什么意思?,python是什么=表示什么python中“?,python===代表啥意思。return false 返回错误例句筛选1.finally, return false to prevent the form fro

资讯

python域

阅读(36)

本文主要为您介绍python域,内容包括Python语言中作用域怎么理解?,Python学习步骤如何安排,python中函数变量作用域和类变量作用域怎么搞都错,烦躁中百度知。命名空间 是从命名到对象的映射。当前命名空间主要是通过 Python 字典实现的,不过

资讯

python故事

阅读(34)

本文主要为您介绍python故事,内容包括python的由来?,python中NNTP.newnews(group,date,t?,PythonPython是指什么。Python的创始人为荷兰人吉多·范罗苏姆[3] (Guido van Rossum)。1989年圣诞节期间,在阿姆斯特丹,Guido为

资讯

pythonid()

阅读(31)

本文主要为您介绍pythonid(),内容包括Python中id函数为什么会对不同对象返回相同值,pythonid函数的输出值问题,python中如何检测USB设备的接入和拨出。id方法的返回值就是对象的内存地址。python中会为每个出现的对象分配内存,哪怕他们的值

资讯

python与mysql连接

阅读(29)

本文主要为您介绍python与mysql连接,内容包括MySQL数据库和Python怎么结合?,python如何根据配置信息连接数据库,如何在Python环境下连接Oracle数据库?如何在Pytho。数据库与python的结合PyMySQL 是在 Python3.x 版本中用于连接 MySQL 服务

资讯

python运行python脚本

阅读(40)

本文主要为您介绍python运行python脚本,内容包括如何运行python脚本,怎么用c实现一个python类然后让python脚本可以impo?,如何用python脚本进行restapi测试。安装完python之后,我们可以做两件事情,1.将安装目录中的Doc目录下的python331.chm

资讯

pythoniffor

阅读(39)

本文主要为您介绍pythoniffor,内容包括Pythonfor循环和if条件,使用python中的for循环和if条件使一组数据按升序排列,最简单的百度,用python写的,运行时出现NameError:name'rawinput'isnotdefined。def flush(hand):.for i in range

资讯

python点击

阅读(33)

本文主要为您介绍python点击,内容包括python如何点击图片?,Win10专业版下如何设置python环境变量呢?,怎样在python中调用c++的显示窗口函数从而生成一个窗?怎样爱问知。# coding: utf-8import cv2import numpy as np img = cv2.imread("E:\

资讯

python工具开发

阅读(52)

本文主要为您介绍python工具开发,内容包括学python需要什么开发软件,python主要用于什么开发,没有软件开发基础,学python需要多久?怎么学?请指教?。Pycharm是一种Python IDE,带有一整套可以帮助用户在使用Python语言开发时提高其效率的工具,

资讯

readline()python

阅读(34)

本文主要为您介绍readline()python,内容包括python中readline()怎么用,还有readline和readlines,read的区别和,python如何忽略文件的第一行,然后统计剩下部分中某个字符串的,pythonipython调用报错。python中readline()是用来读取文本文件中

资讯

pythonifwhilefor

阅读(33)

本文主要为您介绍pythonifwhilefor,内容包括python中while,if,for语句有什么区别吗?比如在进行range函数循环时,求Python二叉树的几个算法求几个二叉树的method!1)给?,python新手求教关于while与for。while是Python中的循环语句,if属于条件

资讯

python类中类

阅读(54)

本文主要为您介绍python类中类,内容包括python类中类方法和类实例有什么区别,Python中类是怎么实例化的?为什么在创建实例之后还能添加属性?,python中类的实例对象的理解总结。定义一个类封装所有的属性,然后把这个类的对象作为返回值。不知

资讯

python基础教程

阅读(28)

本文主要为您介绍python基础教程,内容包括作为一个小白,Python应该怎样从零到入门?,初读“Python基础教程”自学Python完全读不懂,该如何是?爱问知,如何自学Python语言。分享Python学习路线。

资讯

python的字符串替换

阅读(23)

本文主要为您介绍python的字符串替换,内容包括python字符串替换问题,python字符串格式化什么意思,python怎么替换文件中字符串中的字符。old = stsfpos = old.find(s)if (pos != -1):new = old[:pos+1] + old[po

资讯

python==是什么意思

阅读(34)

本文主要为您介绍python==是什么意思,内容包括python中*=是什么意思?,python是什么=表示什么python中“?,python===代表啥意思。return false 返回错误例句筛选1.finally, return false to prevent the form fro

资讯

python域

阅读(36)

本文主要为您介绍python域,内容包括Python语言中作用域怎么理解?,Python学习步骤如何安排,python中函数变量作用域和类变量作用域怎么搞都错,烦躁中百度知。命名空间 是从命名到对象的映射。当前命名空间主要是通过 Python 字典实现的,不过

资讯

python故事

阅读(34)

本文主要为您介绍python故事,内容包括python的由来?,python中NNTP.newnews(group,date,t?,PythonPython是指什么。Python的创始人为荷兰人吉多·范罗苏姆[3] (Guido van Rossum)。1989年圣诞节期间,在阿姆斯特丹,Guido为

资讯

pythonid()

阅读(31)

本文主要为您介绍pythonid(),内容包括Python中id函数为什么会对不同对象返回相同值,pythonid函数的输出值问题,python中如何检测USB设备的接入和拨出。id方法的返回值就是对象的内存地址。python中会为每个出现的对象分配内存,哪怕他们的值

资讯

python与mysql连接

阅读(29)

本文主要为您介绍python与mysql连接,内容包括MySQL数据库和Python怎么结合?,python如何根据配置信息连接数据库,如何在Python环境下连接Oracle数据库?如何在Pytho。数据库与python的结合PyMySQL 是在 Python3.x 版本中用于连接 MySQL 服务

资讯

python运行python脚本

阅读(40)

本文主要为您介绍python运行python脚本,内容包括如何运行python脚本,怎么用c实现一个python类然后让python脚本可以impo?,如何用python脚本进行restapi测试。安装完python之后,我们可以做两件事情,1.将安装目录中的Doc目录下的python331.chm

资讯

pythoniffor

阅读(39)

本文主要为您介绍pythoniffor,内容包括Pythonfor循环和if条件,使用python中的for循环和if条件使一组数据按升序排列,最简单的百度,用python写的,运行时出现NameError:name'rawinput'isnotdefined。def flush(hand):.for i in range

资讯

加密python

阅读(34)

本文主要为您介绍加密python,内容包括如何加密PYTHON程序,python语言支持pki公钥密码体系?,Python应该如何使用?。=abcdefghijklmnopqrs