1.3 List(列表)

列表由一系列按特定顺序排列的元素组成。

Python中,用方括号[ ]来表示列表,并用逗号来分隔其中的元素。

1.3.1 访问列表元素

Python中,第一个列表元素的索引为0,而不是1。

>>> bicycles = ['trek', 'cannondale', 'redline', 'specialized']
>>> print(bicycles[0])
trek
>>> print(bicycles[3])
specialized
>>> print(bicycles[-1])
specialized

注意:通过将索引指定为-1,可让Python返回最后一个列表元素。索引-2返回倒数第二个列表元素,索引-3返回倒数第三个列表元素,以此类推。

1.3.2 添加元素

>>> motorcycles = ['honda', 'yamaha', 'suzuki']
>>> print(motorcycles)
['honda', 'yamaha', 'suzuki']
>>> motorcycles.append('ducati')
>>> print(motorcycles)
['honda', 'yamaha', 'suzuki', 'ducati']

1.3.3 修改元素

>>> motorcycles = ['honda', 'yamaha', 'suzuki']
>>> print(motorcycles)
['honda', 'yamaha', 'suzuki']
>>> motorcycles[0] = 'ducati'
>>> print(motorcycles)
['ducati', 'yamaha', 'suzuki']

1.3.4 在列表中插入元素

>>> motorcycles = ['honda', 'yamaha', 'suzuki']
>>> motorcycles.insert(1, 'ducati')
>>> print(motorcycles)
['honda', 'ducati', 'yamaha', 'suzuki']

1.3.5 删除元素

>>> motorcycles = ['honda', 'yamaha', 'suzuki']
>>> print(motorcycles)
['honda', 'yamaha', 'suzuki']
>>> del motorcycles[1]
>>> print(motorcycles)
['honda', 'suzuki']

弹出列表元素

>>> motorcycles = ['honda', 'yamaha', 'suzuki']
>>> popped_motorcycle = motorcycles.pop()
>>> print(popped_motorcycle)
suzuki
>>> print(motorcycles)
['honda', 'yamaha']
>>> print(motorcycles.pop(0))
honda
>>> print(motorcycles)
['yamaha']

有时候,你不知道要从列表中删除的值所处的位置。如果你只知道要删除的元素的值,可使用方法remove()

>>> motorcycles = ['honda', 'yamaha', 'suzuki']
>>> print(motorcycles)
['honda', 'yamaha', 'suzuki']
>>> motorcycles.remove('yamaha')
>>> print(motorcycles)
['honda', 'suzuki']

1.3.6 对列表排序

>>> cars = ['bmw', 'audi', 'toyota', 'subaru']
>>> cars.sort()
>>> print(cars)
['audi', 'bmw', 'subaru', 'toyota']
>>> print(len(cars))
4

1.3.7 遍历列表

>>> magicians = ['alice', 'david', 'carolina']
>>> for magician in magicians:
print(magician) alice
david
carolina
>>>

1.3.8 创建数值列表

>>> for value in range(1,5):
print(value) 1
2
3
4
>>>
>>> numbers = list(range(1,6))
>>> print(numbers)
[1, 2, 3, 4, 5]
>>> even_numbers = list(range(2,11,2))
>>> print(even_numbers)
[2, 4, 6, 8, 10]

对数字列表执行简单的统计计算

>>> digits = [1,2,3,4,5,6,7,8,9,0]
>>> min(digits)
0
>>> max(digits)
9
>>> sum(digits)
45

1.3.9 列表生成式(List Comprehensions)

>>> squares = [value**2 for value in range(1,11)]
>>> print(squares)
[1, 4, 9, 16, 25, 36, 49, 64, 81, 100]
>>> [x * x for x in range(1, 11) if x % 2 == 0]
[4, 16, 36, 64, 100]
>>> [m + n for m in 'ABC' for n in 'XYZ']
['AX', 'AY', 'AZ', 'BX', 'BY', 'BZ', 'CX', 'CY', 'CZ']
>>> d = {'x': 'A', 'y': 'B', 'z': 'C' }
>>> [k + '=' + v for k, v in d.items()]
['x=A', 'y=B', 'z=C']
>>> L = ['Hello', 'World', 'IBM', 'Apple']
>>> [s.lower() for s in L]
['hello', 'world', 'ibm', 'apple']

1.3.10 使用列表的一部分

你可以处理列表的部分元素,Python称之为切片

要创建切片,可指定要使用的第一个元素和最后一个元素的索引。

>>> players = ['charles', 'martina', 'michael', 'florence', 'eli']
>>> print(players[0:3])
['charles', 'martina', 'michael']
>>> print(players[:4]) # 如果你没有指定第一个索引,Python将自动从列表开头开始
['charles', 'martina', 'michael', 'florence']
>>> print(players[2:]) # 要让切片终止于列表末尾,也可使用类似的语法
['michael', 'florence', 'eli']
>>> print(players[-3:]) # 负数索引返回离列表末尾相应距离的元素
['michael', 'florence', 'eli']

复制列表

my_foods = ['pizza', 'falafel', 'carrot cake']
friend_foods = my_foods[:] # 使用[:]来复制列表 my_foods.append('cannoli')
friend_foods.append('ice cream') print("My favorite foods are:")
print(my_foods) print("\nMy friend's favorite foods are:")
print(friend_foods) # My favorite foods are:
# ['pizza', 'falafel', 'carrot cake', 'cannoli']
#
# My friend's favorite foods are:
# ['pizza', 'falafel', 'carrot cake', 'ice cream']

1.4 Tuple(元组)

Python将不能修改的值称为不可变的,而不可变的列表称为元组

元组看起来犹如列表,但使用圆括号而不是方括号来标识。

元组中只包含一个元素时,需要在元素后面添加逗号,否则括号会被当作运算符使用。

>>> tup1 = (50)
>>> type(tup1)
<class 'int'>
>>> tup1 = (50,)
>>> type(tup1)
<class 'tuple'>

参考资料:

Python数据类型(列表和元组)的更多相关文章

  1. 【Python】(六)Python数据类型-列表和元组,九浅一深,用得到

    您好,我是码农飞哥,感谢您阅读本文,欢迎一键三连哦. 本文分十个章节介绍数据类型中的列表(list)和元组(tuple),从使用说到底层实现,包您满意 干货满满,建议收藏,需要用到时常看看. 小伙伴们 ...

  2. python数据类型——列表和元组类型

    列表类型(list) 定义一个列表类型很简单: l = ['a','b','c','d','e','f'] 变量l即为列表类型,可以用type方法查看: print(type(l)) 列表的增删改查 ...

  3. Python数据类型详解——元组

    Python数据类型详解--元组 有时候我们的列表数据不想被别人修改时该怎么办? 此时,就可以使用元组来存放,元祖又称为只读列表,不能修改 定义方式:与列表类似,将列表的[]换成()即可. 特性: 1 ...

  4. Python中列表,元组,字典,集合的区别

    参考文档https://blog.csdn.net/Yeoman92/article/details/56289287 理解Python中列表,元组,字典,集合的区别 列表,元组,字典,集合的区别是p ...

  5. Python基础------列表,元组的调用方法

    Python基础------列表,元组的调用方法@@@ 一. 列表 Python中的列表和歌曲列表类似,也是由一系列的按特定顺序排列的元素组成的,在内容上,可以将整数,实数,字符串,列表,元组等任何类 ...

  6. Python基础-列表、元组、字典、字符串

    Python基础-列表.元组.字典.字符串   多维数组 nums1 = [1,2,3] #一维数组 nums2 = [1,2,3,[4,56]] #二维数组 nums3 = [1,2,3,4,['a ...

  7. Python基本数据类型--列表、元组、字典、集合

    一.Python基本数据类型--列表(List) 1.定义:[ ]内以逗号分隔,按照索引,存放各种数据类型,每个位置代表一个元素. 2.列表的创建: # 方式一 list1 = ['name','ag ...

  8. Python基础:数据类型-列表与元组(6)

    Python中数据结构主要有序列.集合和字典. 1. 通用序列操作 Python内置了多种序列,其中最常用的两种:列表和元组.另一种重要的序列是字符串. 列表和元组的主要不同在于:列表是可以修改的,而 ...

  9. Python之路(第四篇):Python基本数据类型列表、元组、字典

    一.列表 1.列表 list ,是一个类,li = [1,2,"nicholas"] li是通过list类创建的对象. 2.list特点: 用中括号括起来,用逗号分割每个元素,列表 ...

  10. Python基础-列表_元组_字典_集合

    本节内容 列表.元组操作 字符串操作 字典操作 集合操作 文件操作 字符编码与转码 1. 列表.元组操作 列表是我们最以后最常用的数据类型之一,通过列表可以对数据实现最方便的存储.修改等操作 定义列表 ...

随机推荐

  1. python中和生成器协程相关的yield之最详最强解释,一看就懂(一)

    yield是python中一个非常重要的关键词,所有迭代器都是yield实现的,学习python,如果不把这个yield的意思和用法彻底搞清楚,学习python的生成器,协程和异步io的时候,就会彻底 ...

  2. ML.NET 示例:二元分类之信用卡欺诈检测

    写在前面 准备近期将微软的machinelearning-samples翻译成中文,水平有限,如有错漏,请大家多多指正. 如果有朋友对此感兴趣,可以加入我:https://github.com/fei ...

  3. CSS 分类 (Classification) 实例

    CSS 分类 (Classification) 实例CSS 分类属性 (Classification)CSS 分类属性允许你控制如何显示元素,设置图像显示于另一元素中的何处,相对于其正常位置来定位元素 ...

  4. LVM : 扩展文件系统的容量

    如果发现文件系统的容量不足了,可以通过 LVM 轻松的进行扩展(当然也可以进行缩减操作).本文将紧接前文中的 demo 详细的介绍扩展文件系统的操作过程.说明:本文的演示环境为 ubuntu 16.0 ...

  5. 基于MongodbDB的用户认证-运维笔记

    MongoDB默认是不认证的,默认没有账号,只要能连接上服务就可以对数据库进行各种操作,MongoDB认为安全最好的方法就是在一个可信的环境中运行它,保证之后可信的机器才能访问它,可能这些对一些要求高 ...

  6. FormData

    1. 概述FormData类型其实是在XMLHttpRequest 2级定义的,它是为序列化表以及创建与表单格式相同的数据(当然是用于XHR传输)提供便利. 2. 构造函数创建一个formData对象 ...

  7. Python初始编码-3

    01010100 新11010000 开11010100 一01100000 家11000000 看11000000 看 01010100011101110101011110110A B C01000 ...

  8. oracle系统化学习笔记

    CentOS 4.x上安装Oracle 9i(3讲) oracle9i非常成熟,刚学主要是学9i比较经典 学会安装9i具有现实意义,先学完9i再学11g等比较好 1.安装centos 2.安装orac ...

  9. “数学口袋精灵”App的第三个Sprint计划----开发日记(第一天12.7~第十天12.16)

    “数学口袋精灵”第三个Sprint计划----第一天 项目进度: 基本完成一个小游戏,游戏具有:随机产生算式,判断对错功能.通过轻快的背景音乐,音效,给玩家提供一个良好的氛围.  任务分配: 冯美欣: ...

  10. MySQL存储和获取数据

    ---恢复内容开始--- 一.MySQL存储引擎? 1.引擎定义 存储引擎其实就是如何存取数据,如何为存储的数据建立索引和如何更新.查询数据等技术的实现方法.因为在关系型数据苦中数据是以表格的形式,所 ...