3操作列表

3.1 遍历整个列表

  • 使用for循环
cars = ['bmw','audi','toyota','Jeep']
for i in cars:
print(i)
bmw
audi
toyota
Jeep

3.1.1 在for循环中执行更多的操作

cars = ['bmw','audi','toyota','Jeep']
for i in cars:
print(i + " was my first car" + '!' )
bmw was my first car!
audi was my first car!
toyota was my first car!
Jeep was my first car!
cars = ['bmw','audi','toyota','Jeep']
for i in cars:
print(i + " was my first car" + '!' )
print("my first car was, " + i + ".\n")
bmw was my first car!
my first car was, bmw. audi was my first car!
my first car was, audi. toyota was my first car!
my first car was, toyota. Jeep was my first car!
my first car was, Jeep.

3.1.2 在for循环结束后执行一些操作

cars = ['bmw','audi','toyota','Jeep']
for i in cars:
print(i + " was my first car" + '!' )
print("my first car was, " + i + ".\n")
print("Thanks for everyone! That's a good idea.")
bmw was my first car!
my first car was, bmw. audi was my first car!
my first car was, audi. toyota was my first car!
my first car was, toyota. Jeep was my first car!
my first car was, Jeep. Thanks for everyone! That's a good idea.

3.2 创建数值列表

3.2.1 使用函数range()

for i in range(1,6):
print(i)
1
2
3
4
5

3.2.2 使用range()创建数字列表

  • 可使用函数list()将range()的结果直接转换为列表。若将range()作为list()的参数,则会输出一个数字列表.
numbers = list(range(1,6))
print(numbers)
[1, 2, 3, 4, 5]
dual_numbers = list(range(2,13,2))#range(2,13,2)第一个数为起始值,第二个为终值,第三个为步长
print(dual_numbers)
[2, 4, 6, 8, 10, 12]
A = []
for i in range(5):
B = i**2
A.append(B)
print(A)
[0, 1, 4, 9, 16]

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

B = [1,2,3,5,4,9,8,6]
print(min(B))#求最小
print(max(B))#求最大
print(sum(B))#求和
1
9
38
B = [i ** 2 for i in range(5)]
print(B)
[0, 1, 4, 9, 16]

3.2 使用列表的一部分

3.2.1 切片

cars = ['bmw','audi','toyota','Jeep']
print(cars[0:2])
print(cars[1:3])
print(cars[2:4])
print(cars[:3])
print(cars[1:])
print(cars[:])
print(cars[-2:])
['bmw', 'audi']
['audi', 'toyota']
['toyota', 'Jeep']
['bmw', 'audi', 'toyota']
['audi', 'toyota', 'Jeep']
['bmw', 'audi', 'toyota', 'Jeep']
['toyota', 'Jeep']

3.2.2 遍历切片

cars = ['bmw','audi','toyota','Jeep']
print("This is the first four types in my car:")
for i in cars[:4]:
print(i)
This is the first four types in my car:
bmw
audi
toyota
Jeep

3.2.3 复制列表

  • 要复制列表,可创建一个包含整个列表的切片,方法是同时省略起始索引([:]),
pizza = ['bread','hotdog','milk','egg','cake']
food = pizza[:]
print("My favorite food is:")
print(pizza)
print("\nMy friend's favorite food was:")
print(food)
My favorite food is:
['bread', 'hotdog', 'milk', 'egg', 'cake'] My friend's favorite food was:
['bread', 'hotdog', 'milk', 'egg', 'cake']
pizza = ['bread','hotdog','milk','egg','cake']
food = pizza[:]
pizza.append('ice cream')
food.append('cannoli')
print("My favorite food is:")
print(pizza)
print("\nMy friend's favorite food was:")
print(food)
My favorite food is:
['bread', 'hotdog', 'milk', 'egg', 'cake', 'ice cream'] My friend's favorite food was:
['bread', 'hotdog', 'milk', 'egg', 'cake', 'cannoli']

列表方法说明

方法 说明
L.append(v) 将值v添加到列表L的末尾
L.insert(i,v) 将值v添加到索引i处,同时将其后的元素往后移以便腾出位置
L.remove(v) 从列表L中移除第一次找到的v值
L.reverse() 将列表L中的值逆序放置
L.sort() 对列表L中的值以升序排列(字符串以字母表顺序为主)
L.pop() 移除并返回列表中的最后一个元素(该列表不得为空)

4 嵌套列表

  • 也就是说,列表中也可以含有列表,就像循环中能有另一个循环一样.

    如,下面这个嵌套列表描述的是不同国家人口的预期寿命:
[['Canada',76.5],['United States',75.5],['Mexico','72.0']]
[['Canada', 76.5], ['United States', 75.5], ['Mexico', '72.0']]
  • 外层列表的每个元素本身就是一个拥有两个元素的列表,我们可通过标准的标记法来访问外层列表中的元素
life = [['Canada',76.5],['United States',75.5],['Mexico','72.0']]
life[0]
['Canada', 76.5]
life[1]
['United States', 75.5]
life[2]
['Mexico', '72.0']
life[1][0]
'United States'
life[1][1]
75.5
  • 我们还可以将子列表赋值给变量
life = [['Canada',76.5],['United States',75.5],['Mexico','72.0']]
Canada = life[0]
Canada
['Canada', 76.5]
Canada[0]
'Canada'
  • 通过这个引用对子列表做出的任何修改都将反映到主列表中,反之亦然
life = [['Canada',76.5],['United States',75.5],['Mexico','72.0']]
Canada = life[0]
Canada[1]=80.0
Canada
['Canada', 80.0]
life
[['Canada', 80.0], ['United States', 75.5], ['Mexico', '72.0']]

python编程基础知识—列表(二)的更多相关文章

  1. python编程基础知识—列表(一)

    1 列表 用[]来表示列表,并用逗号分隔其中的元素.如: B=['trek','cannondale','redline','specialized'] print(B) ['trek', 'cann ...

  2. 第2章 Python编程基础知识 第2.1节 简单的Python数据类型、变量赋值及输入输出

    第三节 简单的Python数据类型.变量赋值及输入输出 Python是一门解释性语言,它的执行依赖于Python提供的执行环境,前面一章介绍了Python环境安装.WINDOWS系列Python编辑和 ...

  3. python编程基础知识—字典

    字典 在python中,字典是一系列键-值对,每个键都与一个值相关联,可使用键来访问相关联的值.与键相关联的值可以是数字.字符串.列表乃至字典,即可将任何python对象用在字典中的值. 在pytho ...

  4. Python:基础知识(二)

    常用模块 urllib2 :用于发送网络请求,获取数据 (Pyhton2中的urllib2工具包,在Python3中分拆成了urllib.request和urllib.error两个包.) json: ...

  5. Python 之 基础知识(二)

    一.分支运算 在Python 2.x中判断不等于还可以用<> if语句进阶:elif if 条件1: ...... elif 条件2: ...... else: ...... 二.逻辑运算 ...

  6. python编程基础之十二

    列表:一种有序的集合,可以同时存储多个数据,列表元素可修改,属于可变序列 创建列表: 列表名 = [列表选项一,列表选项二,列表选项三,......] list1 = [] list2 = [10,2 ...

  7. Python编程-基础知识-python项目包和文件的管理以及如何引用相对路径的包和模块

    目录 结构: core |____ __init__.py |____ basic |____ __init__.py |____ database           |____ __init__. ...

  8. 第2章 Python编程基础知识目录

    第2.1节 简单的Python数据类型.变量赋值及输入输出 第2.2节 Python的语句 第2.3节 Python运算符大全 老猿Python,跟老猿学Python! 博客地址:https://bl ...

  9. Python编程-基础知识-List

    Negative Indexes(负索引) >>> spam = ['cat', 'bat', 'rat', 'elephant'] >>> spam[-1] 'e ...

随机推荐

  1. SQL SERVER查看索引使用情况

    SELECT DISTINCT DB_NAME() AS N'db_name' , E.name AS N'schema_name' , OBJECT_NAME(a.object_id) AS N't ...

  2. Button动态样式取代xml

    还在为 textview以及button 的各种样式而烦恼的童鞋们请往这里看~~~~ 一次性解决 textview以及button的样式,再也不用写xml了!!! 全部动态预设置,拒绝堆代码,拒绝xm ...

  3. Vue.js入学教程

    Vue.js是什么Vue.js 是用于构建交互式的 Web 界面的库.Vue.js 提供了 MVVM 数据绑定和一个可组合的组件系统,具有简单.灵活的 API.Vue.js(类似于view)是一套构建 ...

  4. 数据结构(C语言版)链表相关操作算法的代码实现

    这次实现的是带头结点的单链表的初始化.遍历.创建.插入.删除.判断链表是否为空.求链表长度函数,编译环境是vs2013. 其中插入和删除函数中循环的条件目前还不太明白. #include<ios ...

  5. 详解Linux chgrp和chown命令的用法

    Linux chgrp和chown命令是管理员的常用命令,对于初学Linux系统管理的人来说,这对Linux chgrp和chown命令具体的用法这里做一介绍. Linux chgrp命令 功能:改变 ...

  6. c++ 类的定义和使用

    在 c++ 中 类的定义为 class 类名 { };切记,类的定义完成后要加上分号,这是很多初学者容易犯的错误. 类的成员及函数 分为 public private protect 三类,大家学过 ...

  7. jsp,2016.11.28

    1,在jsp中要关联到js的时候就要导入js才可以调用到js <!-- 导入地区的js --> <script type="text/javascript" sr ...

  8. effective java 第2章-创建和销毁对象 读书笔记

    背景 去年就把这本javaer必读书--effective java中文版第二版 读完了,第一遍感觉比较肤浅,今年打算开始第二遍,顺便做一下笔记,后续会持续更新. 1.考虑用静态工厂方法替代构造器 优 ...

  9. ReactiveSwift源码解析(九) SignalProducerProtocol延展中的Start、Lift系列方法的代码实现

    上篇博客我们聊完SignalProducer结构体的基本实现后,我们接下来就聊一下SignalProducerProtocol延展中的start和lift系列方法.SignalProducer结构体的 ...

  10. 初始jvm(一)---jvm内存区域与溢出

    jvm内存区域与溢出 为什么学习jvm 木板原理,最短的一块板决定一个水的深度,当一个系统垃圾收集成为瓶颈的时候,那么就需要你对jvm的了解掌握. 当一个系统出现内存溢出,内存泄露的时候,因为你懂jv ...