列表

列表和字符串之间的转换

>>> li = list('hello')
>>> li
['h', 'e', 'l', 'l', 'o']
>>> li[0] = 'H'
>>> li
['H', 'e', 'l', 'l', 'o']
>>> ''.join(li)
'Hello'
>>>

列表删除元素

>>> numbers
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
>>>
>>> del numbers[0:3]
>>> numbers
[4, 5, 6, 7, 8, 9, 10]
>>>

给切片赋值

切片赋值,可同时给多个元素赋值,可将切片替换为长度与其不同的序列。

>>> name = list('Perl')
>>> name[1:] = 'ython'
>>> name
['P', 'y', 't', 'h', 'o', 'n']

使用切片赋值还可以在不替换原有元素的情况下插入新元素。

>>> numbers = [1, 5]
>>> numbers[1:1]
[]
>>> numbers[1:1] = [2, 3, 4]
>>> numbers
[1, 2, 3, 4, 5]

append

将对象附加到列表末尾。

>>> numbers
[11, 10, 9, 8, 7]
>>> numbers.append(1)
>>> numbers
[11, 10, 9, 8, 7, 1]

clear

清空列表内容。

>>> numbers
[11, 10, 9, 8, 7, 1]
>>> numbers.clear()
>>> numbers
[]

copy

复制列表,常规复制只是将另一个名称关联到列表。

>>> a = [1, 2, 3]
>>> b = a
>>> b
[1, 2, 3]
>>> a[1] = 4
>>> a
[1, 4, 3]
>>> b
[1, 4, 3]

要让a和b指向不同的列表,就必须让b关联a的副本。

>>> a = [1, 2, 3]
>>> b = a.copy()
>>> b
[1, 2, 3]
>>> b[1] = 4
>>> b
[1, 4, 3]
>>> a
[1, 2, 3]

count

计算指定元素在列表中出现的次数。

>>> ['to', 'be', 'or', 'not', 'to', 'be'].count('to')
2

extend

可以将多个值附加到列表末尾,可以将这些值的序列作为参数提供给extend方法。

>>> a = [1, 2, 3]
>>> b = [4, 5, 6]
>>> a.extend(b)
>>> a
[1, 2, 3, 4, 5, 6]
>>>

这种效果类似于拼接,不同的是,extend会修改即将被扩展的序列,而拼接则是返回一个全新的序列。

index

在列表中查找某个值第一次出现的索引。

>>> knights = ['We', 'are', 'the', 'knights', 'who', 'say', 'ni']
>>> knights.index('who')
4

insert

将一个对象插入列表。

>>> numbers = [1, 2, 3, 4, 5, 6]
>>> numbers
[1, 2, 3, 4, 5, 6]
>>> numbers.insert(3, 'four')
>>> numbers
[1, 2, 3, 'four', 4, 5, 6]
>>>

pop

从列表中删除一个元素(默认是最后一个元素),并返回这一元素。

>>> numbers
[1, 2, 3, 'four', 4, 5, 6]
>>> numbers.pop()
6
>>> numbers.pop(-2)
4

remove

删除第一个为指定值的元素

>>> x = ['a', 'b', 'a', 'c', 'd']
>>> x.remove('a')
>>> x
['b', 'a', 'c', 'd']
>>>

reverse

对列表中的元素反向排序

>>> numbers = [1, 2, 3]
>>> numbers.reverse()
>>> numbers
[3, 2, 1]

sort

对列表就地排序,就地排序意味着对原来的列表进行修改,使其元素按顺序排列,而不是返回排序后的列表的副本。

>>> a = [5, 3, 4, 2, 1]
>>> a.sort()
>>> a
[1, 2, 3, 4, 5]

sort接受两个可选参数:key和reverse,这两个参数通常按名称指定的,称为关键词参数。

设置一个用于排序的函数,使用它来为每个元素创建一个键,根据这些键为元素进行排序。

>>> x = ['apple', 'tomato', 'banana', 'orange', 'pear']
>>> x.sort(key=len)
>>> x
['pear', 'apple', 'tomato', 'banana', 'orange']
>>>

reverse指定一个真值(True,False)来对列表进行正向或反向排序。

>>> numbers = ['5', '4', '7', '9', '2']
>>> numbers.sort(reverse=True)
>>> numbers
['9', '7', '5', '4', '2']
>>> numbers.sort(reverse=False)
>>> numbers
['2', '4', '5', '7', '9']

元组

与列表一样,元组也是序列,唯一差别是元组是不可修改的。只要将一些值以逗号分隔,就能自动创建一个元组。

只包含一个值的元组

>>> 42,
(42,)

空元组

>>> ()
()

tuple

将一个序列作为参数,并转换为元组。

>>> tuple([1, 2 , 3])
(1, 2, 3)
>>> tuple('python')
('p', 'y', 't', 'h', 'o', 'n')
>>>

笔记:Python列表和元组的更多相关文章

  1. 认识Python 列表和元组

    列表用方括号   l=[['xyz',123], 'abc', 3140000000.0, (23+1.3j), 'ddd'] 元组用圆括号   t=(['xyz', 123],'abc', 3140 ...

  2. Python列表、元组、字典和字符串的常用函数

    Python列表.元组.字典和字符串的常用函数 一.列表方法 1.ls.extend(object) 向列表ls中插入object中的每个元素,object可以是字符串,元组和列表(字符串“abc”中 ...

  3. python列表与元组的用法

    python列表与元组的用法 目录: 列表的用法: 1.增   append   +    extend 2.删  del    remove 3.改   insert 4.查  index 5.反向 ...

  4. (转)python 列表与元组的操作简介

    python 列表与元组的操作简介 原文:https://www.cnblogs.com/QG-whz/p/4782809.html 阅读目录 列表 list函数 列表的基本操作 列表方法 元组 tu ...

  5. python学习笔记之列表与元组

    一.概述 python包含6种内建的序列,其中列表和元组是最常用的两种类型.列表和元组的主要区别在于,列表可以修改,元组则不能修改 使用上,如果要根据要求来添加元素,应当使用列表:而由于要求序列不可修 ...

  6. Python学习笔记_week2_列表、元组、字典、字符串、文件、i编码

    一. 列表.元组 names=["A","B","C","D"] print(names) print(names[0] ...

  7. python学习笔记(2)--列表、元组、字符串、字典、集合、文件、字符编码

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

  8. Python列表和元组

    Python是没有数组的概念,但是和数组比较相近的概念是列表和元素. 下面两个例子展示列表和元组. # coding=utf-8 # 元组 students = ('小明', '小黄', '小李', ...

  9. #9 Python列表和元组

    前言 Python中有6种序列:列表.元组.字符串.Unicode字符串.buffer对象和xrange对象.序列通用操作包括:索引.切片.长度.加.乘.最大值.最小值,遍历和检查成员.虽然Pytho ...

  10. Python: 列表,元组,字典的区别

    Python中有3种内建的数据结构:列表,元组和字典 1.列表 list是处理一组有序项目的数据结构,即可以在一个列表中存储一个序列的项目.列表中项目应该包括在方括号中,这样python就知道是在指明 ...

随机推荐

  1. Python安装和使用教程(windows)

    点击进入幕布视图浏览 https://mubu.com/doc/a8VGCUfqqw 一.Python下载 1.进入Python官网:https://www.python.org/ 2.选择windo ...

  2. CF1215D

    CF1215D 两个整数的和是偶数,他们的差也是偶数 博弈好难啊qaq 我好zz啊qaq 如果M放最后一个M胜 现在和比较大的一边如果空位还多的话M胜 M可以通过在大的那边放9来消掉那边所有的空 由于 ...

  3. 【java】自定义排序

    使用Comparable接口 这里定义了一个类Node,有两个属性,id,age. 排序方法是,先根据id升序排,id一样,age降序排. 里面有一个compareTo方法.返回值有三个 1. < ...

  4. netease-cloud-music : 依赖: libqt5x11extras5 (>= 5.1.0) 但是它将不会被安装

    修复一下依赖关系: sudo apt-get install -f #或者:sudo apt-get -f install 上面两条是修复依赖关系(depends)的命令,就是假如你的系统上有某个pa ...

  5. Centos 文件权限修改

    1.查看权限 # ls -l dirPath 2.修改权限,root权限执行(-R 子目录的权限都会改变) # chmod -R dirPath

  6. android中使用MediaPlayer和SurfaceView播放视频

    package com.test.video; import java.io.IOException; import android.media.AudioManager; import androi ...

  7. vCenter 6.0 vsca 安装遇到的一些小问题

    在安装vCenter 6.0 vsca的时候,安装插件到第二个的时候,会报出一个windows installer的错误.需要联系软件管理员或者技术支持的一个error. 经过多次的测试,我终于找到了 ...

  8. 【Luogu】【关卡2-8】广度优先搜索(2017年10月)

    任务说明:广度优先搜索可以用来找有关“最短步数”的问题.恩,也可以用来“地毯式搜索”.

  9. 【Luogu】【关卡2-4】排序Ex(2017年10月)

    任务说明:这里的排序就更上一层了.不仅融合了别的算法与技巧,排序本身也有各种花招.

  10. Java——异常的基本概念

    1.异常的基本概念 1.1什么是异常 在使用计算机语言进行项目开发的过程中,即使程序员把代码写得尽善尽美,在系统的运行过程中仍然会遇到一些问题,因为很多问题不是靠代码能够避免的,比如:客户输入数据的格 ...