处理列表中的部分元素——切片

1. 切片

players = ['charles', 'martina', 'michael', 'florence', 'eli']
print(players[0:3]) # 打印列表的切片,其中包含前三个元素,输出也是一个列表
print(players[1:4]) # 提取列表的第2、3、4个元素
print(players[:4]) # 没有指定索引,故打印出列表的前4个元素
print(players[2:]) # 没有指定终止索引,故打印出列表中第二个元素之后的所有元素(不包含第二个,由于索引从0开始)
print(players[-3:]) # 列表从右往左的索引从-1开始,故打印出列表的最后三个元素
print(players[:-2]) # 切片时不包含指定的第二个索引,故打印除了最后两个元素以外的其他元素

运行结果:

['charles', 'martina', 'michael']
['martina', 'michael', 'florence']
['charles', 'martina', 'michael', 'florence']
['michael', 'florence', 'eli']
['michael', 'florence', 'eli']
['charles', 'martina', 'michael']

2. 遍历切片

for player in players[:3]:    # 遍历前3个元素
print(player.title())

运行结果:

Charles
Martina
Michael

3. 复制列表

my_foods = ['pizza', 'falafel', 'carrot cake']    # 定义列表
friend_foods = my_foods[:] # 复制列表
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'] My friend's favorite foods are:
['pizza', 'falafel', 'carrot cake']

为每个列表添加一个元素:

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

若将复制列表代码friend_foods = my_foods[:]用friend_foods = my_foods替代,运行上边添加元素代码会怎么呢?

My favorite foods are:
['pizza', 'falafel', 'carrot cake', 'cannoli', 'cannoli', 'ice cream'] My friend's favorite foods are:
['pizza', 'falafel', 'carrot cake', 'cannoli', 'cannoli', 'ice cream']

比较运行结果可知:代码friend_foods = my_foods只是将两个变量指向同一个列表;

                              代码friend_foods = my_foods[:]是完全复制了一个列表,得到两个独立的列表。

Note:复制列表时有么有方括号将会得到两种不同的结果。

Python中使用列表的一部分——参考Python编程从入门到实践的更多相关文章

  1. julia与python中的列表解析.jl

    julia与python中的列表解析.jl #=julia与python中的列表解析.jl 2016年3月16日 07:30:47 codegay julia是一门很年轻的科学计算语言 julia文档 ...

  2. Python中的列表解析和生成器表达式

    Python中的列表解析和生成器表达式 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.列表解析案例 #!/usr/bin/env python #_*_coding:utf-8 ...

  3. Python中对列表排序实例

    Python中对列表排序实例 发布时间:2015-01-04 09:01:50 投稿:junjie 这篇文章主要介绍了Python中对列表排序实例,本文给出了9个List的排序实例,需要的朋友可以参考 ...

  4. python中的列表及numpy数组排序

    一.列表排序  # python中对列表排序有sort.sorted两种方法,其中sort是列表内置方法,其帮助文档如下:In [1]: help(sorted) Help on built-in f ...

  5. Python中的列表生成式和多层表达式

    Python中的列表生成式和多层表达式 如何生成[1x1, 2x2, 3x3, ..., 10x10]的列表? L=[]; ,): L.append(x*x) print L print (" ...

  6. Python中的列表,元组,字符串之间的相互转化

    Python中的列表元组和字符串之间的相互转化需要利用,tuple(),list(),str(). 示例如下: >>> the_string = "hello I'am x ...

  7. 逗号分隔的字符串转换为Python中的列表 split

    将逗号分隔的字符串转换为Python中的列表   给定一个字符串: 它是由逗号分隔的几个值的序列: mStr = '192.168.1.1,192.168.1.2,192.168.1.3' 如何将字符 ...

  8. Python编程从入门到实践笔记——操作列表

    Python编程从入门到实践笔记——操作列表 #coding=utf-8 magicians = ['alice','david','carolina'] #遍历整个列表 for magician i ...

  9. Python编程从入门到实践笔记——列表简介

    Python编程从入门到实践笔记——列表简介 #coding=utf-8 #列表——我的理解等于C语言和Java中的数组 bicycles = ["trek","cann ...

随机推荐

  1. ICEM——倒角的处理

    原视频下载地址: https://pan.baidu.com/s/1miHMOuk 密码: knc4

  2. LeetCode 第 159 场周赛

    一. 缀点成线(LeetCode-5230) 1.1 题目描述 1.2 解题思路 比较简单的一题,利用公式 y = kx + b,确定好k和b就好,并且要考虑一种情况,函数 x = h. 1.3 解题 ...

  3. Software Project Management_JUnit && Maven

    Task1: Develop the project “HelloWorld” -A .java program: Just print out “Hello” + your name; -A tes ...

  4. js实现replaceAll方法

    js本来有replace方法,请看w3school的说明: replace() 方法用于在字符串中用一些字符替换另一些字符,或替换一个与正则表达式匹配的子串. 语法: stringObject.rep ...

  5. (转)AutoML 与轻量模型大列表: awesome-AutoML-and-Lightweight-Models

    Awesome-AutoML-and-Lightweight-Models 原文:http://bbs.cvmart.net/articles/414/zi-yuan-automl-yu-qing-l ...

  6. IDEA一些自动补全方式

    第一种:系统自带:可以CTRL + j 可以查看 psvm 也就是public static void main的首字母. 依次还有在方法体内键入for会有一个fori的提示,选中然后tab键,就会自 ...

  7. CentOS 安装抓包工具wireshark-tshark抓包工具

    原文出处:razeen -> https://razeen.me/post/how-to-install-tshark-on-centos.html 准备在服务器上用tshark抓包,分析一下数 ...

  8. Java基础 case穿透 多个case执行同一段代码

        JDK :OpenJDK-11      OS :CentOS 7.6.1810      IDE :Eclipse 2019‑03 typesetting :Markdown   code ...

  9. Flutter 页面布局 Stack层叠组件

    Stack 表示堆的意思,我们可以用 Stack 或者 Stack 结合 Align 或者 Stack 结合 Positiond 来实现页面的定位布局 属性 说明 alignment 配置所有子元素的 ...

  10. Python的collections之namedtuple的使用及其优势

    类实现: class User: def __init__(self, name, age, height): self.name = name self.age = age self.height ...