Python笔记
  • Introduction
  • 变量和简单数据类型
  • 列表
  • 字典
  • 控制流
  • 函数
  • 类
  • 文件和异常
  • 第15章 生成数据
Powered by GitBook
On this page
  • 创建列表
  • 访问列表元素
  • 遍历列表
  • 列表推导式
  • 修改列表元素
  • 在列表中添加元素
  • 从列表中删除元素
  • 1.使用del语句删除元素
  • 2.使用方法pop()删除元素
  • 3.根据值删除元素
  • 使用方法sort()对列表进行永久排序
  • 使用函数sorted()对列表进行临时排序
  • 翻转列表
  • 切片

Was this helpful?

Edit on GitHub

列表

创建列表

常用的列表创建方式有两种:字面量语法与list()内置函数。

内置函数list(iterable)则可以把任何一个可迭代对象转换为列表,比如字符串:

>>> list('foo')
['f', 'o', 'o']

访问列表元素

>>> strs = ['ma','lin','kang']
>>> strs
['ma', 'lin', 'kang']
#用len()函数可以获得list元素的个数:
>>> len(strs)
3
#用索引来访问list中每一个位置的元素,记得索引是从0开始的
>>> strs[1]
'lin'
#如果要取最后一个元素,除了计算索引位置外,还可以用-1做索引,直接获取最后一个元素
>>> strs[-1]
'kang'
#以此类推,可以获取倒数第2个、倒数第3个
>>> strs[-3]
'ma'

遍历列表

假如你想在遍历的同时,获取当前循环下标,可以选择用内置函数enumerate()包裹列表对象

l = list('foo')
for index, item in enumerate(l):
    print(index, item)

enumerate()接收一个可选的start参数,用于指定循环下标的初始值(默认为0):

l = list('foo')
for index, item in enumerate(l,10):
    print(index, item)
# 10 f
# 11 o
# 12 o

列表推导式

l = list(range(0,10))
results = [x*x for x in l if x > 4]
print(results)
#[25, 36, 49, 64, 81]

修改列表元素

>>> strs = ['ma','lin','kang']
#要把某个元素替换成别的元素,可以直接赋值给对应的索引位置:
>>> strs[0]='M'
>>> strs
['M', 'lin', 'kang']

在列表中添加元素

1.在列表末尾添加元素

>>> strs = ['ma','lin','kang']
>>> strs.append('hello world')
>>> strs
['ma', 'lin', 'kang', 'hello world']

2.在列表中插入元素

>>> strs = ['ma','kang']
>>> strs.insert(1,'lin')
>>> strs
['ma', 'lin', 'kang']

从列表中删除元素

1.使用del语句删除元素

>>> strs = ['ma','lin','kang']
>>> del strs[1]
>>> strs
['ma', 'kang']

2.使用方法pop()删除元素

>>> strs = ['ma','lin','kang']
>>> strs.pop(1)
'lin'
>>> strs
['ma', 'kang']
>>>

3.根据值删除元素

>>> strs = ['ma','lin','kang']
>>> strs.remove('lin')
>>> strs
['ma', 'kang']
#方法remove()只删除第一个指定的值
>>> strs = ['ma','lin','kang','ma']
>>> strs.remove('ma')
>>> strs
['lin', 'kang', 'ma']

使用方法sort()对列表进行永久排序

>>> cars = ['bmw','audi','toyota','subaru']
>>> cars.sort()
>>> print(cars)
['audi', 'bmw', 'subaru', 'toyota']
#反向排序
>>> cars.sort(reverse=True)
>>> print(cars)
['toyota', 'subaru', 'bmw', 'audi']

使用函数sorted()对列表进行临时排序

>>> cars = ['bmw','audi','toyota','subaru']
>>> print(cars)
['bmw', 'audi', 'toyota', 'subaru']
>>> print(sorted(cars))
['audi', 'bmw', 'subaru', 'toyota']
>>> print(cars)
['bmw', 'audi', 'toyota', 'subaru']

翻转列表

>>> cars = ['bmw','audi','toyota','subaru']
>>> print(cars)
['bmw', 'audi', 'toyota', 'subaru']
>>> cars.reverse()
>>> print(cars)
['subaru', 'toyota', 'audi', 'bmw']

切片

l = list(range(0,10))
print(l) #[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
#不写的话默认是开头和结尾
print(l[:]) # [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
print(l[:-1]) # [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
print(l[-1:]) # [9]
print(l[-2:9]) # [8]
Previous变量和简单数据类型Next字典

Last updated 2 years ago

Was this helpful?