Python——列表(1)

1. 创建列表

最简单的,创建一个空列表:

newList = []

要向列表添加元素,需要使用append( )。交互模式键入:

>>> newList = []
>>> newList.append("LSM")
>>> print newList
['LSM']

再添加一个元素:

>>> newList.append("YMY")
>>> print newList
['LSM', 'YMY']

添加元素之前,一定要先创建一个列表(可以使空列表,也可以非空)
列表也可以存储任何类型的数据,包括数字,字符串,对象,甚至是其他列表:

myList = [2, 10, 23, 'Hello',my, another_list]

2. 获取元素

最简单的是用索引号从列表获取单个元素,当然注意索引号从0开始。
键入:

>>> letters = ['a', 'b', 'c', 'd', 'e']
>>> print letters[0]
a

3. 列表“分片”

(1) 使用索引从列表一次获取多个元素,叫做列表分片。键入:

>>> print letters[1:4]
['b', 'c', 'd']

(2) 下边看这两者有什么不同:

>>> print letters[1]
b
>>> print letters[1:2]
['b']

第一种情况下,是取回一个元素;第二种取回的是包含这个元素的一个列表。如下

>>> print type(letters[1])
<type 'str'>
>>> print type(letters[1:2])
<type 'list'>

由此可见,对列表分片时会得到一个较小的列表,这是原列表中元素的一个副本,修改这个分片,原列表不会受到任何影响。
(3) 分片简写
想要分片包括列表的开始部分:

>>> print letters[:2]
['a', 'b']

想要得到列表的末尾:

>>> print letters[2:]
['c', 'd', 'e']

如果没有放任何数,只有冒号,得到的是整个列表:

>>> print letters[:]
['a', 'b', 'c', 'd', 'e']

和上边说的类似,letters[:] 会建立整个列表的副本。如果你想对列表做一些修改,但又想保持原列表不做任何改变,使用这种分片就会很方便。

4. 修改元素

可以使用索引修改元素:

>>> print letters
['a', 'b', 'c', 'd', 'e']\
>>> letters[2] = 'z'
>>> print letters
['a', 'b', 'z', 'd', 'e']

但是不能使用索引增加元素,如这样就是错误的:

>>> letters[5] = 'f'

Traceback (most recent call last):
  File "<pyshell#19>", line 1, in <module>
    letters[5] = 'f'
IndexError: list assignment index out of range

因为列表只有五项,故索引为0~4。

5. 添加元素

想列表增加元素共有3种办法:

  • append( ) 向列表末尾增加一个元素。
  • extend( ) 向列表末尾增加多个元素。
  • insert( ) 在列表中的某个位置增加一个元素。

1. 增加到列表末尾:append( )

这个功能我们前边已经见过。它把一个元素增加到列表末尾:

>>> letters.append('f')
>>> print letters
['a', 'b', 'z', 'd', 'e', 'f']

2. 扩展列表:extend( )

extend( ) 在列表末尾增加多个元素:

>>> letters.extend(['g', 'h', 'i'])
>>> print letters
['a', 'b', 'z', 'd', 'e', 'f', 'g', 'h', 'i']

3. 插入一个元素:insert( )

insert( ) 会在列表中的某个位置增加一个元素。

>>> letters.insert(2,'c')
>>> print letters
['a', 'b', 'c', 'z', 'd', 'e', 'f', 'g', 'h', 'i']

将字母c增加到索引2的位置。索引2之前的字母位置不变,2之后的字母依次后移。

4. append( ) 和 extend( ) 的区别

分别让他们都增加3个元素:
首先用extend( ):

>>> letters = ['a', 'b', 'c', 'd', 'e']
>>> letters.extend(['f', 'g', 'h'])
>>> print letters
['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h']

现在,再用append( )做同样的事:

 >>> letters = ['a', 'b', 'c', 'd', 'e']
 >>> letters.append(['f', 'g', 'h'])
 >>> print letters
 ['a', 'b', 'c', 'd', 'e', ['f', 'g', 'h']]

这是为什么呢?我们之前说append( )会向列表增加一个元素。它怎么会增加3个元素呢?其实他并没有增加3个元素,只不过刚好是一个包含3项的列表。正是这个原因,列表中多了一对中括号。

6. 删除元素

从列表中删除元素有三种方法:

  • 用remove( )删除
  • 用del删除
  • 用pop( )删除

1.用 remove( ) 删除

remove( ) 会熊列表中删除你选择的元素,把它丢掉:

>>> letters = ['a', 'b', 'c', 'd', 'e']
>>> letters.remove('c')
>>> print letters
['a', 'b', 'd', 'e']

不需要知道元素在列表中的具体位置,只要确定它在列表中即可。
假若你要删除的元素不在列表中,会出错:

>>> letter.remove('f')

Traceback (most recent call last):
  File "<pyshell#37>", line 1, in <module>
    letter.remove('f')
NameError: name 'letter' is not defined

2. 用 del 删除

del允许利用索引从列表中删除元素:

>>> letters = ['a', 'b', 'c', 'd', 'e']
>>> del letters[3]
>>> print letters
['a', 'b', 'c', 'e']

3. 用 pop( ) 删除

pop( )从列表中取出最后一个元素交给你。你还可以给它指派一个名字:

>>> letters = ['a', 'b', 'c', 'd', 'e']
>>> lastLetters = letters.pop()
>>> print letters
['a', 'b', 'c', 'd']
>>> print lastLetters
e

当然pop( ) 也可以使用索引指定元素:

>>> letters = ['a', 'b', 'c', 'd', 'e']
>>> lastLetters = letters.pop(1)
>>> print letters
['a', 'c', 'd', 'e']
>>> print lastLetters
b

7. 搜索列表

列表中有多个元素时,怎么查找这些元素呢?两种处理:

  • 查找元素是否在列表中.
  • 查找元素在列表中的哪个位置(索引)。
    in 关键字
    要找出某个元素是否在列表中,可以使用in关键字,新建文件键入:
letters = ['a', 'b', 'c', 'd','e']

if 'a' in letters:
    print "Found 'a' in letters"
else:
    print "Didn't find 'a' in letters"

在这里插入图片描述
查找索引
为了找出元素位于列表中的什么位置,可以使用index( ) 方法:

>>> letters = ['a', 'b', 'c', 'd', 'e']
>>> print letters.index('a')
0
>>> print letters.index('e')
4
>>> 

再键入:

>>> letters = ['a', 'b', 'c', 'd', 'e']
>>> 'a' in letters
True
>>> 'f' in letters
False
>>> 

‘a’ in letters 部分是布尔或逻辑表达式。如果a在这个列表,它会返回True,否则返回False。

8. 循环处理列表

直接看效果,新建文件键入

letters = ['a', 'b', 'c', 'd', 'e']
for letter in letters:
	print letter

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qq_37369201/article/details/83049419
今日推荐