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'>

参考资料:

  • Python3 教程 | 菜鸟教程
  • Python教程 - 廖雪峰的官方网站
  • 《Python编程从入门到实践》——【美】Eric Matthes 著

转载于:https://www.cnblogs.com/gzhjj/p/10658224.html

Python数据类型(列表和元组)相关推荐

  1. python有哪几种基本数据类型_Python最基本的数据类型以及对元组的介绍 Python 中列表和元组有哪些区别...

    python的数据类型有哪些?道不同不相为谋,你讨厌我,我也未必喜欢你.各走各的人岂不是更潇洒何必咄咄逼人费了口舌也讨人嫌.你闲得慌,我可没空陪你. 1. 数字类型 Python数字类型主要包括int ...

  2. python列表转集合_Python数据类型 列表、元组、集合、字典的区别和相互转换

    一:数据类型 列表.元组.集合.字典的区别 列表元组集合字典 英文 list tuple set dict 可变与不可变类型 可变类型 不可靠类型 可变类型 可变类型 可否重复 是 是 否 是 存储方 ...

  3. 总结python中列表、元组、字典、集合的共同点和不同点

    前言: 今天就和大家只聊聊python中列表.元组.字典.集合的共同点和不同点,能力有限,写的不好的地方,请大家多多海涵! 列表list 列表和元组·都是有序的 # 元组与列表相似可以通过索引与切片获 ...

  4. Python中列表和元组的区别与联系

    首先就看看什么是列表?什么是元组? 列表和元组,都是一个可以放置任意数据类型的有序集合.在绝大多数编程语言中,集合的数据类型必须一致.不过,对于 Python 的列表和元组来说,并无此要求. 列表: ...

  5. python 把列表或者元组转成集合

    python 把列表或者元组转成集合 使用set 方法 list_a = ["张三", "李四", "王二"] # 把列表转成集合 prin ...

  6. 在Python中将列表转换为元组

    本文翻译自:Convert list to tuple in Python I'm trying to convert a list to a tuple. 我正在尝试将列表转换为元组. Most s ...

  7. Python语法——列表、元组、集合、字典

    Python语法--列表.元组.集合.字典 综述: 列表(List) [ ] 是一种有序和可更改 的集合.允许重复的成员. 元组(Tuple) ( ) 是一种有序且不可更改的集合.允许重复的成员. 集 ...

  8. Python合并列表与元组

    Python合并列表与元组 知识总结: 列表前面加星号可将列表内容解开成独立的元素.(元组相同) 如代码: a = [1 for _ in range(5)] a1 = (2 for _ in ran ...

  9. python列表和元组的应用,Python中列表和元组的使用方法和区别

    一.二者区别 列表: 1.可以增加列表内容 append 2.可以统计某个列表段在整个列表中出现的次数 count 3.可以插入一个字符串,并把整个字符串的每个字母拆分当作一个列表段追加到列表当中 e ...

  10. Python基础数据类型---列表、元组、字典、集合、编码进价、数据类型转换

    文章目录 一.列表(List) 二.元组(tuple) 三.字典(dict) 四.集合(set) 五.数据类型间的转换 六.基础数据类型的总结 七.编码 八.练习题 一.列表(List) 列表是pyt ...

最新文章

  1. github 修改项目为public_GitHub仓库中项目的语言属性可以这样修改,有点简单
  2. android jni通过cmake使用第三方静态库和动态库
  3. 线程高级篇-Lock锁和Condition条件
  4. java 监听桌面鼠标事件,鼠标事件的监听和使用
  5. mysql 2008数据库配置文件_SQL Server 2008数据库的配置及连接
  6. 最大子段和SP1716GSS3 线段树
  7. 转:怎样开始学习php代码审计?
  8. [设计模式-行为型]模板方法模式(Template Method)
  9. SQL2000系統表的應用
  10. VLAN虚拟局域网详解
  11. STM32神舟III号 驱动直流电机学习(一)
  12. 数据结构--逻辑结构
  13. 入门级服务器的选购——DIY篇
  14. 国内和国际反垃圾邮件组织
  15. 武汉科技大学计算机科学与技术分数,2019武汉科技大学研究生分数线汇总(含2016-2019历年复试)...
  16. 一点小感受:界面和程序的分离
  17. rust vapo_考研英语翻译技巧
  18. Bingo NFT 如何帮助交易者和投资者分析市场
  19. 如何正确地写存储过程
  20. python 选手比赛模拟

热门文章

  1. C#中教你一步步实现一个电话本窗体程序
  2. Python中使用PIL快速实现二值图
  3. BJUI实现每日数据汇总默认显示某天的数据
  4. 【TensorFlow】笔记4:图像识别与CNN
  5. 全国计算机等级2级试题,全国计算机等级考试二级QBASIC试题
  6. android 怎么换行,android textview 怎么换行?
  7. 将文本计算机应用能力的样式设置为标题1,计算机应用基础期末考试试题
  8. java求助,JAVA求助大家帮忙下
  9. 重磅!神策客户服务中心升级,5 年,价值释放加速度
  10. 亿通行签约神策数据,数据赋能交通出行服务智能化创新升级