Python学习--列表

1. 列表的创建

列表(list)是Python中一个非常重要的类型,用于管理一组数据,列表的形式如下所示

country = ['China', 'Germany', 'Russia', 'America']

1.1 将一些数据写入链表中要遵循以下规则:

  1)数据包含在引号中,Python中单引号和双引号具有相同的作用

  2)使用逗号分隔数据,整个列表包含在一个中括号中

  3)适用赋值操作符将一个列表赋值给一个变量名如上述例子中的“country”, Python的变量名不需要声明类型

1.2 创建一个空列表

  country = []

 

2. 列表操作

列表不仅可以存放字符串这样的数据,还可以存放混合类型的数据,例如在列表中存储列表

country = ['China',
           ['Beijing', 'Shanghai', 'Shenzhen'],
           'Germany', 'Russia', 'America'
           ]
print(country)
print(country[1][2])
print(country[0:2])

>>['China', ['Beijing', 'Shanghai', 'Shenzhen'], 'Germany', 'Russia', 'America'] 
>>Shenzhen
>>['China', ['Beijing', 'Shanghai', 'Shenzhen']]

除了列表外还可以存储字典和元组,字典和元组另作介绍

2.1 下标操作

列表可以像数组那样通过下标获取列表中的数据,数据类型---字符串

print(country[0])
>>>China

2.2 切片

列表可以适用冒号“:”操作符选取列表中的一部分数据,选取出的数据成为切片,实际上是字列表,但这些数据需要是连续的。

此外数据可以正向取如示例中的“0 : 2”得到列表['China', 'Germany'], 也可以反向取如“-2:-1”

需要注意的是即使切片只取一个数据得到的也是一个列表,而不是一个字符串,与使用索引得到的数据是不同的

country = ['China', 'Germany', 'Russia', 'America']
print(country)
print(country[0:1])
print(country[0:2])
print(country[-2: -1])

>>['China', 'Germany', 'Russia', 'America']
>>['China']
>>['China', 'Germany']
>>['Russia']

2.3 append(self, p_object) & insert(self, index, p_object)

添加数据可以使用insert()和append()两种方法,如下所示:

country = ['China', 'Germany', 'Russia', 'America']
country.insert(1, 'Grace')
print(country)
country.append('Mexico')
print(country)

>>['China', 'Grace', 'Germany', 'Russia', 'America']
>>['China', 'Grace', 'Germany', 'Russia', 'America', 'Mexico']

insert()第一个参数确定插入的位置,在这个位置之后插入需要插入的数据, append()将数据添加到列表的尾部

2.4 extend(self, iterable)

country = ['China',
           ['Beijing', 'Shanghai', 'Shenzhen'],
           'Germany', 'Russia', 'America'
           ]
Eur = ['England', 'France']

country.extend(Eur)
print(country)

>>['China', ['Beijing', 'Shanghai', 'Shenzhen'], 'Germany', 'Russia', 'America', 'England', 'France']

2.5 index(self, value, start=None, stop=None)

从列表中找出某个值第一个匹配项的索引位置

country = ['China',
           ['Beijing', 'Shanghai', 'Shenzhen'],
           'Germany', 'Russia', 'America'
           ]
print(country.index('Germany'))
print(country.index(['Beijing', 'Shanghai', 'Shenzhen']))

>>2
>>1

 

只能查找第一层数据,如果差列表中的列表,需要将列表全部输入。函数中的start和stop用于确定搜索范围

2.6 pop(self, index=None)

移除列表中的一个元素(默认最后一个元素),并且返回该元素的值

country = ['China',
           ['Beijing', 'Shanghai', 'Shenzhen'],
           'Germany', 'Russia', 'America'
           ]
print(country)
print(country.pop(-2))
print(country)

>>['China', ['Beijing', 'Shanghai', 'Shenzhen'], 'Germany', 'Russia', 'America']
>>Russia
>>['China', ['Beijing', 'Shanghai', 'Shenzhen'], 'Germany', 'America']

2.7 remove(self, value)

移除列表中某个值的第一个匹配项

country = ['China',
           ['Beijing', 'Shanghai', 'Shenzhen'],
           'Germany', 'Russia', 'America', 'Russia'
           ]
print(country)
country.remove('Russia')
print(country)

>>['China', ['Beijing', 'Shanghai', 'Shenzhen'], 'Germany', 'Russia', 'America', 'Russia']
>>['China', ['Beijing', 'Shanghai', 'Shenzhen'], 'Germany', 'America', 'Russia']

2.8 reverse(self)

反向列表中元素

country = ['China',
           ['Beijing', 'Shanghai', 'Shenzhen'],
           'Germany', 'Russia', 'America', 'Russia'
           ]
print(country)
country.reverse()
print(country)

 >> ['China', ['Beijing', 'Shanghai', 'Shenzhen'], 'Germany', 'Russia', 'America', 'Russia']
>>['Russia', 'America', 'Russia', 'Germany', ['Beijing', 'Shanghai', 'Shenzhen'], 'China']

2.9 sort(self, cmp=None, key=None, reverse=False)

对原列表进行排序

country = ['China', 'Germany', 'Russia', 'America']
print(country)
country.sort()
print(country)

>>['China', 'Germany', 'Russia', 'America']
>>['America', 'China', 'Germany', 'Russia']

 

posted @ 2017-03-02 15:26  Techml  阅读(257)  评论(0编辑  收藏  举报