Python学习笔记之列表和成员运算符及列表相关方法详解

本文实例讲述了Python学习笔记之列表和成员运算符及列表相关方法。分享给大家供大家参考,具体如下:

列表和成员运算符

列表可以包含我们到目前为止所学的任何数据类型并且可以混合到一起。

lst_of_random_things = [1, 3.4, 'a string', True] # 这是一个包含 4 个不同类型元素的列表
print(lst_of_random_things[0]) # 1

获取上述列表的第一个值和最后一个值

print(lst_of_random_things[0]) # 1
print(lst_of_random_things[len(lst_of_random_things) - 1]) # True

此外,你可以使用负数从列表的末尾开始编制索引,其中 -1 表示最后一个元素,-2 表示倒数第二个元素,等等

print(lst_of_random_things[-1]) # True
print(lst_of_random_things[-2]) # a string

列表切片的应用: 我们可以使用切片功能从列表中提取多个值。在使用切片功能时,务必注意,下限索引包含在内,上限索引排除在外, 最终返回的是一个新的列表

正常的用法:

lst_of_random_things = [1, 3.4, 'a string', True]
print(lst_of_random_things[1:2]) # [3.4]

从列表的开头开始,也可以省略起始值

lst_of_random_things = [1, 3.4, 'a string', True]
print(lst_of_random_things[:2]) # [1, 3.4]

要返回到列表结尾的所有值,可以忽略最后一个元素

lst_of_random_things = [1, 3.4, 'a string', True]
print(lst_of_random_things[1:]) # [3.4, 'a string', True]

在列表里还是不在列表里?关键字 in 和 not in 返回一个布尔值, 表示某个元素是否存在于列表中,或者某个字符串是否为另一个字符串的子字符串

print('this' in 'this is a string') # True
print('in' in 'this is a string') # True
print('isa' in 'this is a string') # False
print(5 not in [1, 2, 3, 4, 6]) # True
print(5 in [1, 2, 3, 4, 6]) # False

列表的可变性和顺序

可变性是指对象创建完毕后,我们是否可以更改该对象。如果对象(例如列表或字符串)可以更改,则是可变的。但是,如果无法更改对象以创建全新的对象(例如字符串),则该对象是不可变的。

列表可变性测试:

my_lst = [1, 2, 3, 4, 5]
my_lst[0] = 'one'
print(my_lst) # ['one', 2, 3, 4, 5]

下面尝试修改字符串:

greeting = "Hello there"
greeting[0] = 'M'

尝试修改字符串,引发如下错误:

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: 'str' object does not support item assignment

但可以修改字符串对象的地址:

greeting = "Hello there"
greeting = 'Hi there'
print(greeting) # Hi there

本节注意事项:对于你要使用的每种数据类型,你都需要注意两个事项:可变吗?有序吗?

列表和成员运算符[相关练习]

请使用列表索引根据整型变量 month 判断特定月份有多少天,并将该值存储在整型变量 num_days 中

month = 8
days_in_month = [31,28,31,30,31,30,31,31,30,31,30,31]
# use list indexing to determine the number of days in month
num_days = days_in_month[month - 1]
print(num_days)

请使用列表切片记法从此列表中选择列表中的最后三个元素。提示:切片可以使用负索引!

eclipse_dates = ['June 21, 2001', 'December 4, 2002', 'November 23, 2003',
        'March 29, 2006', 'August 1, 2008', 'July 22, 2009',
        'July 11, 2010', 'November 13, 2012', 'March 20, 2015',
        'March 9, 2016']
# TODO: Modify this line so it prints the last three elements of the list
print(eclipse_dates[-3:])

列表的常用方法

常用方法举例

  • len() 返回列表中的元素数量。
  • max() 返回列表中的最大元素。最大元素的判断依据是列表中的对象类型。数字列表中的最大元素是最大的数字。字符串列表中的最大元素是按照字母顺序排序时排在最后一位的元素。因为 max() 函数的定义依据是大于比较运算符。如果列表包含不同的无法比较类型的元素,则 max() 的结果是 undefined。
  • min() 返回列表中的最小元素。它是 max() 函数的对立面,返回列表中的最小元素。
  • sorted() 返回一个从最小到最大排序的列表副本,并使原始列表保持不变。
  • join() 将字符串列表作为参数,并返回一个由列表元素组成并由分隔符字符串分隔的字符串。
  • append() 实用方法 append() 会将元素添加到列表末尾。

方法实践举例之join()

new_str = "\n".join(["fore", "aft", "starboard", "port"])
print(new_str)

输出: 在此示例中,我们使用字符串 “\n” 作为分隔符,以便每个元素之间都有一个换行符。我们还可以在 .join 中使用其他字符串作为分隔符。以下代码使用的是连字符。

fore
aft
starboard
port

or

name = "-".join(["García", "O'Kelly"])
print(name)

输出:

García-O'Kelly

方法实践举例之append()

letters = ['a', 'b', 'c', 'd']
letters.append('z')
print(letters)

输出:

['a', 'b', 'c', 'd', 'z']

列表的常用方法[相关练习]

以下代码的输出是什么?

a = [1, 5, 8]
b = [2, 6, 9, 10]
c = [100, 200]
print(max([len(a), len(b), len(c)])) # 4
print(min([len(a), len(b), len(c)])) # 2

以下代码的输出是什么?

names = ["Carol", "Albert", "Ben", "Donna"]
print(" & ".join(sorted(names))) # Albert & Ben & Carol & Donna

以下代码的输出是什么?

names = ["Carol", "Albert", "Ben", "Donna"]
names.append("Eugenia")
print(sorted(names)) # ['Albert', 'Ben', 'Carol', 'Donna', 'Eugenia']

更多关于Python相关内容可查看本站专题:《Python列表(list)操作技巧总结》、《Python字符串操作技巧汇总》、《Python数据结构与算法教程》、《Python函数使用技巧总结》、《Python入门与进阶经典教程》及《Python文件与目录操作技巧汇总》

希望本文所述对大家Python程序设计有所帮助。

(0)

相关推荐

  • python 禁止函数修改列表的实现方法

    有时候,需要禁止函数修改列表.例如要对裂变进行修改操作,也要保留原来的未打印的设计列表,以供备案.为解决这个问题,可向函数传递列表的副本而不是原件:这样函数所做的任何修改都只影响副本,而丝毫不影响原件. function_name(list_name[:]) 8-9 魔术师 魔术师 :创建一个包含魔术师名字的列表,并将其传递给一个名为show_magicians() 的函数,这个函数打印列表中每个魔术师的名字. 8-10 了不起的魔术师 了不起的魔术师 :在你为完成练习 8-9编写一个名为mak

  • python通过apply使用元祖和列表调用函数实例

    本文实例讲述了python通过apply使用元祖和列表调用函数的方法.分享给大家供大家参考.具体实现方法如下: def my_fuc(a, b): print a, b atuple=(30,10) alist= ['Hello','World!'] apply(my_fuc,atuple) apply(my_fuc,alist) 运行结果如下: 30 10 Hello World! 希望本文所述对大家的Python程序设计有所帮助.

  • Python列表list内建函数用法实例分析【insert、remove、index、pop等】

    本文实例讲述了Python列表list内建函数用法.分享给大家供大家参考,具体如下: #coding=utf8 ''''' 标准类型函数: cmp():进行序列比较的算法规则如下: ----------------------------------------------------------------------------- 1. 对两个列表的元素进行比较 2. 如果比较的元素是同类型的,则比较其值,返回结果 3. 如果两个元素的不是同一种类型,则检查它们是否是数字 a. 如果是数字,

  • Python中max函数用于二维列表的实例

    最近写一个和二维列表有关的算法时候发现的 当用max求二维列表中最大值时,输出的结果是子列表首元素最大的那个列表 测试如下 c=[[1,2,-1],[0,5,6]] a=[[0,3,-1],[1,4,6]] print(max(c),max(a)) 结果是这样的 [1, 2, -1] [1, 4, 6] 以上这篇Python中max函数用于二维列表的实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们. 您可能感兴趣的文章: Python中max函数用法实例分析 Py

  • Python获取时间范围内日期列表和周列表的函数

    Python获取时间范围内日期列表和周列表的函数 1.获取日期列表 # -*- coding=utf-8 -*- import datetime def dateRange(beginDate, endDate): dates = [] dt = datetime.datetime.strptime(beginDate, "%Y-%m-%d") date = beginDate[:] while date <= endDate: dates.append(date) dt = d

  • Python入门教程3. 列表基本操作【定义、运算、常用函数】 原创

    前面简单介绍了Python字符串基本操作,这里再来简单讲述一下Python列表相关操作 1. 基本定义与判断 >>> dir(list) #查看列表list相关的属性和方法 ['__add__', '__class__', '__contains__', '__delattr__', '__delitem__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__getitem__

  • python操作列表的函数使用代码详解

    python的列表很重要,学习到后面你会发现使用的地方真的太多了.最近在写一些小项目时经常用到列表,有时其中的方法还会忘哎! 所以为了复习写下了这篇博客,大家也可以来学习一下,应该比较全面和详细了 列表(list): 用来存放相同或者不同元素(字符)用逗号隔开的一个存储方式. list我个人认为最重要的有一点大家可能都容易忽略那就是复制列表,这点文章最后来讲解 定义三个列表的样例 lis = [1, 2, 3, 4, 5, 6] lis = ['a', 'b', 'c', 'd'] lis =

  • Python 利用内置set函数对字符串和列表进行去重的方法

    如下所示: # coding:utf8 __author__ = 'libingxian' __date = "20170415" # 由于数据类型set本身具有无序,唯一值的特性,可以用内置函数set对字符串和列表进行去重,挺方便的 str = "asdfasdlklfgklgjsdfjkjl" se = set(str) print se li = [1,"2",1,"2","abc","12

  • python通过加号运算符操作列表的方法

    本文实例讲述了python通过加号运算符操作列表的方法.分享给大家供大家参考.具体如下: li = ['a', 'b', 'mpilgrim'] li = li + ['example', 'new'] print li li += ['two'] print li 运行结果如下: ['a', 'b', 'mpilgrim', 'example', 'new'] ['a', 'b', 'mpilgrim', 'example', 'new', 'two'] 希望本文所述对大家的Python程序设

  • 初步认识Python中的列表与位运算符

    Python列表 List(列表) 是 Python 中使用最频繁的数据类型. 列表可以完成大多数集合类的数据结构实现.它支持字符,数字,字符串甚至可以包含列表(所谓嵌套). 列表用[ ]标识.是python最通用的复合数据类型.看这段代码就明白. 列表中的值得分割也可以用到变量[头下标:尾下标],就可以截取相应的列表,从左到右索引默认0开始的,从右到左索引默认-1开始,下标可以为空表示取到头或尾. 加号(+)是列表连接运算符,星号(*)是重复操作.如下实例: #!/usr/bin/python

  • 对python中两种列表元素去重函数性能的比较方法

    测试函数: 第一种:list的set函数 第二种:{}.fromkeys().keys() 测试代码: #!/usr/bin/python #-*- coding:utf-8 -*- import time import random l1 = [] leng = 10L for i in range(0,leng): temp = random.randint(1,10) l1.append(temp) print '测试列表长度为:',leng #first set last = time.

  • python中list列表的高级函数

    在Python所有的数据结构中,list具有重要地位,并且非常的方便,这篇文章主要是讲解list列表的高级应用,基础知识可以查看博客. 此文章为python英文文档的翻译版本,你也可以查看英文版:https://docs.python.org/2/tutorial/datastructures.html use a list as a stack: #像栈一样使用列表 stack = [3, 4, 5] stack.append(6) stack.append(7) stack [3, 4, 5

随机推荐