1.   列表(list)

创建列表时,将元素放在一个 [ ] 中,元素之间用逗号隔开,表中元素类型可以不同。

lis1 = []
lis2 = [1, 2, 3, 4, 5]
lis3 = [1, 'a', [1, 2, 3], {'a': 12}]

1.1   list()

list ([interabel])  列表构建器

# 将元祖转换为列表
(1, 2, 3, 4, 5)
list((1, 2, 3, 4, 5))
# 将range类型转换为列表
range(10)
list(range(10))
# 将map对象转换为列表
map(str, range(10))
list(map(str, range(10)))
# 将zip对象转换为列表
zip('abc', [1, 2, 3])
list(zip('abc', [1, 2, 3]))
# 将enumerate对象转换为列表
enumerate('Python')
list(enumerate('Python'))
# 将字典转换完成列表时,只有键会放进列表
list(dict(name='jiang', age=14))
# 将字符串中每一个字符都放进列表
list('Python')
# 删除列表
t = list({1, 2, 3, 4})
print(t)
del t
# print(t)  # 报错NameError

1.2   列表解析式

构建一个列表,其元素有一个可迭代对象进行某类操作而产生。

# 将 0~9 中能整除三的元素平方
[i**2 for i in range(9) if i % 3 == 0]

( 有疑惑可参考 三元表达式-进阶语法-CSDNPython入门技能树)

1.3   列表切片

切片(Slicings)是获取有序序列中部分元素的方法。

[ start : end : step ]

切片会产生一个新列表。

lis = [i * 2 for i in range(0, 31, 3)]
print(lis[:])     # 取t中所有元素
print(lis[::3])   # 每三个元素中取一个元素
print(lis[-1:])   # 取最后一个元素
print(lis[:-1])   # 除最后一个元素之外的全部元素

例 :将列表中元素循环移动三位

# + 在数学运算为加,在列表之间为连接
print(lis[3:]+lis[:3])      # 左移
print(lis[-3:]+lis[:-3])    # 右移

1.4   常见序列运算

len()   序列长度   max()   序列最大值   min()   序列最小值

lis.index(x)   lis 中第一次出现的 x 元素的下标

lis = [0, 1]*8
print(lis)
print(lis.index(1))

lis.count(x)   lis 中 x 出现的次数

lis = [0, 1]*8
print(lis)
print(lis.count(1))

1.5   常见序列操作

del s[i:j:k]   将 lis[i:j:k] 从 s 中删除

s.append(x)   将 x 元素添加到 s 末尾

s.insert(i,x)   在位置 i 上插入 x

s.pop([i])   删除 s 位置 i 的元素

s.remove(x)   删除 s 中第一个 x

s.reverse()   逆序 s 所有元素,使原序列翻转,无返回值

1.6   列表常用方法

1.6.1   1.5的所有操作

lis.extend([ i , j ])   lis 末尾 添加 i 和 j

1.6.2   sorted()   sort()

sorted(iterable, cmp=None, key=None, reverse=False)

sort(*, key = None,reverse=False)   按元素大小排序,无返回值。

lis = list(range(10))
lis.reverse()
print(sorted(lis))
print(lis)
lis.sort(key=lambda x: x % 3)
print(lis)

1.7   s.copy()

浅复制,复制后,操作复制列表不改变被复制列表

lis1 = list(range(10))
lis2 = lis1
lis3 = lis1.copy()
lis2[3] = 300
lis3[6] = 600
print(lis1)

2.   元组(tuple)

元组,与列表类似,但其创建后元组内元素不可变。

eg:元组 [ 3 ] = 元素  将会报错 TypeError

创建列表时,将元素放在一个 [ ] 中,元素之间用逗号隔开,表中元素类型可以不同。

创建元组时,将元素放在一个 ( ) 中,元素之间用逗号隔开,表中元素类型可以不同。

t1 = ()
t2 = (1, 2, 3, 4, 5)
t3 = (1, 'a', [1, 2, 3], {'a': 12})
t4 = tuplr([1, 2, 3])

tuple()   创建与可迭代元素相同的元组

元组是不可变的,不能直接修改元祖的值,不能增添删除元素。元组访问速度比列表快,开销小,当只是进行遍历等操作时,可将列表转换为元组,需要修改时,再转换为列表。

元组可作为字典的键,也可作为集合的元素,但列表不可以,包括列表的元组也不可以。

2.1   生成器表达式(generate expression)

与 列表解释式 创造方式相似

# 将 0~9 中能整除三的元素平方
(i**2 for i in range(9) if i % 3 == 0)

注意事项:

1. 它返回值并不是元组,而是一个迭代器。

2. 生成器中,只有元素被读到内存中才被创建,因此不能求长度,不能索引和切片。

3. 生成器常用于 for 循环,遍历结束 for 循环能够自动处理Stoplteratio异常,生成器对象                的next 方法或使用 next() 必须捕捉异常。

【Python】列表与元组相关推荐

  1. 十二、深入Python列表和元组

    @Author :Runsen 上面四篇文章总结了Python的基础. 在Pthon中数据结构是非常重要的,所以下面将深入Pyhon数据结构 Python列表和元组总结 文章目录 什么是列表和元组 列 ...

  2. python两个元组相加_《第5章 Python 列表与元组》5.1.3 序列相加(Adding)!

    <高中信息技术 Python编程> 教学案<第5章 Python 列表与元组> 5.1.3 序列相加(Adding)! 06:15 1 #使用加号可以进行序列的连接操作,输入如 ...

  3. python 列表、元组、集合、字典、循环遍历数据结构

    python 列表.元组.集合.字典.数据结构的循环(整理自python文档) 列表-list-用方括号标注,逗号分隔的一组值 list 的 方法 对list添加.插入.删除.查找.排列.翻转 lis ...

  4. 任意长度的python列表最后一个元素索引_任意长度的 Python 列表、元组和字符串中最后一个元素的下标为 ________ 。_学小易找答案...

    [填空题]已知 x = [3, 5, 7] ,那么表达式 x[10:] 的值为 ____________ . [填空题]表达式 [x for x in [1,2,3,4,5] if x<3] 的 ...

  5. 任意长度的python列表最后一个元素索引_任意长度的Python列表、元组和字符串中最后一个元素的下标为...

    [填空题]Python内置函数__用来返回序列中的最小元素 [填空题]表达式 list(range(5)) 的值为 [填空题]表达式 int(4**0.5) 的值为 [填空题]表达式 3 or 5 的 ...

  6. 任意长度的python列表_任意长度的Python列表、元组和字符串中最后一个元素的索引为...

    任意长度的Python列表.元组和字符串中最后一个元素的索引为 答:-1 什么是软件工程? 答:百度定义:软件工程是一门研究用工程化方法构建和维护有效的.实用的和高质量的软件的学科.它涉及程序设计语言 ...

  7. python列表和元组

    python列表和元组 1.列表 列表是Python中内置的有序可变序列,列表的所有元素放在一对中括号"[]"中,并使用逗号隔开,列表中元素的类型可以相同也可以不同. (1)列表的 ...

  8. Python列表和元组的详细区别

    文章目录 Python列表和元组的详细区别 一.列表和元组的区别 二.列表(List) 三.元组(Tuple) Python列表和元组的详细区别 一.列表和元组的区别 列表是动态数组,它们可变且可以重 ...

  9. python列表与元组和java_Python列表和元组的相同点和不同点是什么

    相同点:属于有序序列.可以强制转换.使用len()统计元素个数.使用count()统计指定元素的出现次数.不同点:1.元组类型为tuple,列表类型为list:2.元组不能修改,列表可以根据索引来修改 ...

  10. c 提取引号中间的字符串_Python | 一文看懂Python列表、元组和字符串操作

    好文推荐,转自CSDN,原作星辰StarDust 序列 序列是具有索引和切片能力的集合. 列表.元组和字符串具有通过索引访问某个具体的值,或通过切片返回一段切片的能力. 列表.元组.字符串都属于序列 ...

最新文章

  1. 什么是LinkedList?什么时候使用它呢?Java LinkedList结构、用法及源码解析
  2. smarty_modifier_truncate,无或者有md_substr的情况下都能正确截取字符串的php函数,可用于smarty。...
  3. 数据仓库、数据湖、流批一体,终于有大神讲清楚了!
  4. DjangoRestFramework基本使用
  5. 从桌面向手机移植Silverlight应用
  6. ubuntu16.04下面使用graphviz
  7. 《零基础看得懂的C语言入门教程 》——(四)C语言的基本数据类型及变量
  8. JavaSE学习--正则表达式
  9. win10PPT不支持Flash动画
  10. 大数据分析之纳税人画像-实现和优化思路
  11. pytorch 学习笔记 part14 过拟合欠拟合及解决方案
  12. 千兆网线交叉线接法(有图)
  13. 35岁的程序员:第8章,魏建国
  14. Fresco加载图片优化
  15. 2022081班李亚楠20220901
  16. OpenCV项目运行提示错误:can‘t open camera by index
  17. mysql集群方案参考
  18. torch_geometric.utils.k_hop_subgraph
  19. 【牛客多校第十场】Coffee Chicken
  20. 工厂数字化转型必备的多协议转换网关

热门文章

  1. Java中抽象(abstract)
  2. DeepExposure: Learning to Expose Photos with Asynchronously Reinforced Adversarial Learning【论文阅读札记】
  3. 第一期智能无人机课程里的 PX4+TX2+小觅 vins 实飞教程
  4. 常见排序算法之希尔排序
  5. WWH——学习方法理解与分析
  6. MySQL的数据迁移
  7. 【开源项目】七、Guns:致力于做更简洁的后台管理系统
  8. 速度=价值,金融行业对华为云CDN的极致喜爱
  9. Theano、Lasagne、TensorFlow在Ubuntu14.04 64支持GPU的安装 py27
  10. 使用iText导出word 可自由设置为横页和纵页