python基础-列表

1. 定义

有序的集合对象,可变的序列

  • []中包含任意对象的有序集合、通过偏移存取、可变长度、异构、支持嵌套
  • 例如:[]; [1, 2, 3]; [0,'1', [3,4],5]

2. 索引

  • 与字符串类似,取出列表指定偏移量的单个对象,对列表指定索引赋值会原地修改列表
>>> list = [0,'1', [3,4],5]
>>> list[2],list[2][0]  
([3, 4], 3)  # 多层嵌套列表可以依次索引
>>> list[2][0]=5 # 将5赋值到指定位置
>>> list
[0, '1', [5, 4], 5]  # 列表被原地修改

3. 分片

与字符串类似,提取列表部分内容生成新的列表
详情请参考字符串:

>>> list[0:-1]
[0, '1', [5, 4]]
>>> list[1:]
['1', [5, 4], 5]

4. 列表内置运算

4.1 + 加法 (合并,生成新列表)

>>> fruits=['apple','banana','orange']
>>> list + fruits
[0, '1', [5, 4], 5, 'apple', 'banana', 'orange']

4.2 * 乘法(重复,生成新列表)

>>> list*2
[0, '1', [5, 4], 5, 0, '1', [5, 4], 5]

4.3 len() 计算长度

>>> len(list)
4 # 逗号为分隔符,list中有4个对象

4.4 list()列表转换

括号里面参数为任意可迭代的对象:字符串、元组等

>>> list('123456')  # 这里的list不是变量名,而是内置函数
['1', '2', '3', '4', '5', '6']

4.5 in测试

>>> 'apple' in fruits
True
>>> 'mango' in fruits
False

5. 列表函数方法

5.1 往列表中增加对象:

5.1.1 list.append() 末尾添加对象

In [3]: 
names=['James','Emma','Emily','Charli'] 
names.append('Justin')
names  #在列表末尾添加对象
Out[3]:
['James', 'Emma', 'Emily', 'Charli', 'Justin']

5.1.2 list.extend() 末尾添加可迭代的对象

In [4]:
names.extend(i for i in range(3))
names # 括号内容为列表推导式,日常使用需加[ ]
Out[4]:
['James', 'Emma', 'Emily', 'Charli', 'Justin', 0, 1, 2]

5.1.3 list.insert() 在列表指定偏移处插入对象

In [5]:
names.insert(0,'Tomas')
names # 按索引0位置,添加对象Tomas
Out[5]:
['Tomas', 'James', 'Emma', 'Emily', 'Charli', 'Justin', 0, 1, 2]

5.2 从列表中删除对象

5.2.1 list.pop() 移除列表指定偏移的对象并将该对象返回

In [6]:
dele = names.pop(-1)  # 返回对象至变量dele
print('删除的是%s'% dele)
names 
删除的是2 
Out[6]:
['Tomas', 'James', 'Emma', 'Emily', 'Charli', 'Justin', 0, 1]

5.2.2 list.remove() 移除列表中某个值的第一个匹配项

In [7]:
names.remove('Emma')
names  # 注意如果有相同对象,只会删除第一个
Out[7]:
['Tomas', 'James', 'Emily', 'Charli', 'Justin', 0, 1]

5.3 对列表中对象排序

5.3.1 sort()

In [13]:
alphabet = ['v','a','t','u','w','a']
alphabet.sort()
alphabet
Out[13]:
['a', 'a', 't', 'u', 'v', 'w']
In [14]:
alphabet.sort(reverse=True) # 降序排列
alphabet
Out[14]:
['w', 'v', 'u', 't', 'a', 'a']

5.4 列表对象查找

5.4.1 count() 统计某个对象在列表中出现的次数

In [15]:
alphabet.count('a')  #计算字母a的个数
Out[15]:
2

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

In [19]:
print(alphabet)
alphabet.index('a')
['w', 'v', 'u', 't', 'a', 'a']
Out[19]:
4

总结:

  1. 和字符串一样,列表也可以做切片操作
  2. 列表是可变对象,注意函数方法使用的时候,是否会改变列表本身。
微信关注.png
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 一、快捷键 ctr+b 执行ctr+/ 单行注释ctr+c ...
    o_8319阅读 5,857评论 2 16
  • 〇、前言 本文共108张图,流量党请慎重! 历时1个半月,我把自己学习Python基础知识的框架详细梳理了一遍。 ...
    Raxxie阅读 19,022评论 17 410
  • 列表是最常用的Python数据类型,由数字、字符串等组成,可随意修改,列表是可变的。 创建列表: 在方括号[]中,...
    彼岸的渔夫阅读 381评论 0 1
  • 下午的礼仪课由欢乐的“小鸡小鸡舞开场”,男生觉得这个舞蹈可以接受,舞得很嗨;女生们大部分觉得舞蹈有点傻,难为情🤨。...
    Ana2阅读 201评论 0 0
  • 古朴素雅恰盎然,枯荣共度续前缘。 半钵空翠同秋浓,一点明媚伴竹眠。 傲雪凌霜风骨瘦,清心寡欲慧根坚。 佳期有约来春...
    逸塵居士阅读 258评论 0 0