Python基础——列表与元组

简介: Python基础——列表与元组

(1)元组tuple:

元组是序列类型数据的一种

是置于圆括号“( )”中的逗号分隔的数据

可以包含多种类型的元素

tupa = (1, 2, 3, 4, 5)
tupb = ('湖北', '河北', '山东', '山西')
tupc = ('Susan', 'Female', 19, (85, 74), [99, 89, 92])
元组的创建

置于圆括号中逗号分隔的多个元素

t1= ('湖北', ['武汉', 2020])
t2= (1, 2, 3)        
t3= 1, 2, 3    #括号可省略
t4= 1
#括号可省略
元组的创建:

tuple(iterable)函数

t4= tuple(range(1, 4))
t5= tuple('python')
s = ('武汉')    # 武汉<class 'str'>
t1 = ('武汉',)  # 单个元素时,逗号不能省略
t2 = '武汉',    # <class 'tuple'>
t3 = tuple()   # 用函数创建空元组
t4 = ()        
# 空的圆括号创建空元组
元组的修改

元组是不可变数据类型(immutable

一般无法增加、删除和修改元素

t = (1, 2, [3, 4])  # 元组
t[2] = 0            
# 不可元素的值
TypeError: 'tuple' object does not support item 
assignment
t[2][1] = 0         
# (1, 2, [3, 0])
元素是列表,可以修改列表内的数据
元组的方法

元组是不可变数据类型(immutable)

t = (1, 0, 1, 0, 1, 1, 1, 0)
print(t.count(1))  
# 统计1 的数量,结果5
print(t.index(0))  
# 0首次出现的序号,结果1
内置方法:
tuple.count(x)# 统计x数量
tuple.index(x)# 返回x索引值
元组的访问

元组是不可变数据类型(immutable)

t = tuple(range(10))
print(t[2])  # 2
print(t[-1])  # 9
print(t[::2])  # (0, 2, 4, 6, 8)
t[3] = 0
# 元组元素不能赋值
TypeError: 'tuple' object does not support item 
assignment
多变量赋值

将元组、列表和字符串等序列中的多个

元素分别赋值给多个独立的变量

x, y = (5, 10)
m, n = 3, 4
a, b, c = 'xyz'
i, j = [3, 6]
将输入字符串根据分隔符切分为列表,
分别赋值给多个变量
name, score = input().split()  
# 'Tom 88' 切分后分别赋值给name和score

(2)列表:

列表(list):

置于中括号中的一组数据

数据间以逗号间隔

每个数据项称之为列表的元素

数值与字符串直接存放值

lsa = [1, 2, 3, 4, 5]               
# 整数
lsb = ['湖北', '河北', '山东']   # 字符串

列表的元素类型无类型限制

列表字典等组合数据存放引用

lsc = [‘Susan’, 19, [85, 74], (99, 89), {1, 2}, {‘Tom’: 18}]

列表的创建

将逗号分隔的一组数据置于方括号“[]”中

lsa = [88, 92, 73, 54]  # 元素为整数
lsc = ['武汉', 2020]     # 不同类型元素
lsb = []                
# 空列表
  1. 用list() 函数,将字符串、range对象、元组、
    集合等可迭代数据转换为列表
    参数是字典时,将字典的键转为列表
    当参数为空时生成一个空列表
lsa = list()              
# 空列表:[]
lsb = list((1, 2, 3, 4))  # [1, 2, 3, 4]
lsc = list(range(5))      
# [0, 1, 2, 3, 4]
lsd = list('1234')        
# ['1', '2', '3', '4’]
lse = list({'武汉': 1100, '北京': 2800})  
# ['武汉', '北京']
  1. split() 函数可以根据指定字符将字符串切分为列表
    函数参数缺省时用空格切分,多个空格切分一次
    参数是空格时用一个空格切分,多个空格切分多次
s = 'Life is short, you needPython'  
# 逗号和空格分隔的字符串
lsa = s.split(',')  
lsb = s.split()     
lsc = s.split(' ')  
列表的更新

1.通过索引赋值改变列表中指定序号元素值

ls = [88, 56, 95, 46, 100, 77]
ls[2] = 66 # 序号2的元素修改为66
• 1
• 2
列表的更新

1.通过索引赋值改变列表中指定序号元素值

ls = [88, 56, 95, 46, 100, 77]
ls[2] = 66 # 序号2的元素修改为66

通过索引赋值更新列表时,索引不能超出列表长度

ls = [88, 56, 95, 46, 100, 77]
ls[6] = 66 # 序号6的元素不存在

新值可以与列表中原有元素的数据类型不同

可以是一个列表或元组

ls = [88, 56, 95, 46, 100, 77]
[88, [{'武汉': 100}, (18, 20)], 66, 'pass', 100, 77]
ls[1] = [{'武汉': 100},  (18, 20)]
ls[2] = 66
ls[3] = 'pass'

2.用切片赋值的方法更新列表

要求新值也为列表

新值元素与切片元素数量可不相同

ls = [88, 56, 95, 46]
ls[1:3] = [33, 44, 55, 66]  

切片不连续时新列表与切片元素数量相等

按顺序一一替换

新值类型可与原值类型不同

// An highlighted block
ls = [88, 56, 95, 46, 100, 77]
ls[0:6:2] = ['Python', 'C', 'VB']

列表方法更新

ls.append()

ls.extend()

ls.insert()

原地操作

无新对象产生

无返回值

列表的id不改变

ls.append(x)

向列表ls末尾追加一个元素x

ls为操作的列表名,x为增加的元素

ls = [88, 56, 95, 46]

ls.append(100)


列表元素的删除

ls.pop(i)

用于移除列表中序号为“i”的一个元素

ls为要删除元素的列表名

i为要删除的元素的序号,整数

ls = [88, 56, 95, 46]
ls.pop(2)

ls.pop(i)

用于移除列表中序号为“i”的一个元素

唯一能删除列表元素又能返回值的列表方法

返回值为被移除的元素

ls = [88, 56, 95, 46]
n = ls.pop(2)
print(n)  # 95

ls.pop()

无参数时移除列表的最后一个元素

ls = [88, 56, 95, 46]
ls.pop()

ls.remove(x)

删除列表中第一个与参数“x”值相同的元素

存在多个与“x”值相同元素时,只删除第一个

ls = [88, 56, 95, 46,56]
ls.remove(56)

ls.remove(x)

列表中不存在与参数“x”相同元素时,抛出异常

ls = [88, 56, 95, 46,56]
ls.remove(86)
ValueError: list.remove(x): x not in list
if 86 in ls:
ls.remove(86)

ls.clear()

删除列表中全部元素

ls = [88, 56, 95, 46,56]
ls.clear()

命令del

删除列表中通过索引或切片指定的元素

ls = [88, 56, 95, 46,56]
del ls[1:3]

命令del

删除列表所有元素

与ls.clear()作用相同

ls = [88, 56, 95, 46,56]
del ls[:]
相关文章
|
5天前
|
数据挖掘 大数据 数据处理
python--列表list切分(超详细)
通过这些思维导图和分析说明表,您可以更直观地理解Python列表切分的概念、用法和实际应用。希望本文能帮助您更高效地使用Python进行数据处理和分析。
22 14
|
7天前
|
数据挖掘 大数据 数据处理
python--列表list切分(超详细)
通过这些思维导图和分析说明表,您可以更直观地理解Python列表切分的概念、用法和实际应用。希望本文能帮助您更高效地使用Python进行数据处理和分析。
22 10
|
23天前
|
数据处理 开发者 Python
Python中的列表推导式:简洁高效的数据处理
在编程世界中,效率和可读性是代码的两大支柱。Python语言以其独特的简洁性和强大的表达力,为开发者提供了众多优雅的解决方案,其中列表推导式便是一个闪耀的例子。本文将深入探讨列表推导式的使用场景、语法结构及其背后的执行逻辑,带你领略这一特性的魅力所在。
|
26天前
|
开发者 Python
探索Python中的列表推导式:简洁而强大的工具
【10月更文挑战第41天】 在编程的世界中,效率与简洁是永恒的追求。本文将深入探讨Python编程语言中一个独特且强大的特性——列表推导式(List Comprehension)。我们将通过实际代码示例,展示如何利用这一工具简化代码、提升性能,并解决常见编程问题。无论你是初学者还是资深开发者,掌握列表推导式都将使你的Python之旅更加顺畅。
|
29天前
|
Python
探索Python中的列表推导式
【10月更文挑战第38天】本文深入探讨了Python中强大而简洁的编程工具——列表推导式。从基础使用到高级技巧,我们将一步步揭示如何利用这个特性来简化代码、提高效率。你将了解到,列表推导式不仅仅是编码的快捷方式,它还能帮助我们以更加Pythonic的方式思考问题。准备好让你的Python代码变得更加优雅和高效了吗?让我们开始吧!
|
2月前
|
Python
探索Python中的列表推导式
【10月更文挑战第20天】在编程世界里,时间就是一切。Python的列表推导式是节约时间、简化代码的一大利器。本文将带你深入理解并有效利用这一强大工具,从基础到高级用法,让你的代码更加简洁高效。
|
2月前
|
Python
SciPy 教程 之 SciPy 模块列表 7
`scipy.constants` 模块提供了常用的时间单位转换为秒数的功能。例如,`constants.hour` 返回 3600.0 秒,表示一小时的秒数。其他常用时间单位包括分钟、天、周、年和儒略年。
19 6
|
1月前
|
Python
SciPy 教程 之 SciPy 模块列表 13
SciPy教程之SciPy模块列表13:单位类型。常量模块包含多种单位,如公制、二进制(字节)、质量、角度、时间、长度、压强、体积、速度、温度、能量、功率和力学单位。示例代码展示了如何使用`constants`模块获取零摄氏度对应的开尔文值(273.15)和华氏度与摄氏度的转换系数(0.5556)。
18 1
|
1月前
|
弹性计算 安全 数据处理
Python高手秘籍:列表推导式与Lambda函数的高效应用
列表推导式和Lambda函数是Python中强大的工具。列表推导式允许在一行代码中生成新列表,而Lambda函数则是用于简单操作的匿名函数。通过示例展示了如何使用这些工具进行数据处理和功能实现,包括生成偶数平方、展平二维列表、按长度排序单词等。这些工具在Python编程中具有高度的灵活性和实用性。
33 2
|
2月前
|
Python
SciPy 教程 之 SciPy 模块列表 9
SciPy教程之常量模块介绍,涵盖多种单位类型,如公制、质量、角度、时间、长度、压强等。示例展示了如何使用`scipy.constants`模块查询不同压强单位对应的帕斯卡值,包括atm、bar、torr、mmHg和psi。
16 1