热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

python列表元组_python中的列表和元组

列表和数组区别:列表可变,而元组不可变。(包含的元素是否可更改)创建:#定义列表my_list[01,demo,3]#定义元组my_tup

列表和数组

区别:列表可变,而元组不可变。(包含的元素是否可更改)

创建:

# 定义列表

my_list = ['01','demo',3]

# 定义元组

my_tuple = ('01','demo',3)

通用用法:

只要不涉及改变元素的操作,列表和元素的用法是通用的。

(1)通过索引使用元素

索引从0开始,也支持负数索引(从-1开始)

my_list = ['01','demo',3]

print(my_list[0]) # 01

my_tuple = ('01','demo',3)

print(my_tuple[-1]) # 3

(2)序列切片

语法格式为:[start : end : step]从start到end切片,但不包括end; step为步长,默认为1,若为负数则无意义

my_list = [1,2,3,4,5,6,7,8]

print(my_list[2:5]) # [3,4,5]

my_tuple = (1,2,3,4,5,6,7,8)

print(my_tuple[3:9:3]) # (4,7)

(3)加法

两个列表或元组所包含的元素的总和。列表和元组不能相加。

my_list1 = [1,2,3]

my_list2 = [4,5,6]

my_list3 = my_list1 + my_list2

print(my_list3) # [1, 2, 3, 4, 5, 6]

(4)乘法

列表和元组包含的元素重复N次。

my_list = [1,2,'a']

my_list2 = my_list * 3

print(my_list2) # [1, 2, 'a', 1, 2, 'a', 1, 2, 'a']

(5)in运算符

判断列表或元组是否包含某元素。

my_tuple = (1,2,'3',4,'5')

print(2 in my_tuple) #True

(6)长度、最大值和最小值

传给max()、min()函数的元组、列表的元素必须是相同类型且可以比较大小。

my_list = [1,2,3,4,5]

print(max(my_list)) # 5

my_tuple = ('a','b','3')

print(min(my_tuple)) # 3

print(len(my_tuple)) # 3

(7)序列封包和序列解包

序列封包:程序把多个值赋给一个变量时,自动将多个值封装为元组。

序列解包:程序允许将序列直接赋给多个变量,各元素会被依次赋值给每个变量(要求序列的元素个数和变量个数相等)

vals = 1,2,3,4,5

print(type(vals)) #

my_tuple = tuple(range(1,10,2))

print(my_tuple) # (1, 3, 5, 7, 9)

a,b,c,d,e = my_tuple

print(a,b,c,d,e) # 1 3 5 7 9

x,y,z = 1,2,3

print(x,y,z) # 1 2 3

xyz = 4,5,6

x,y,z = xyz

print(x,y,z) # 4 5 6

# 交换变量的值

x,y,z = y,z,x

print(x,y,z) # 5 6 4

first,second,*rest = range(10)

print(first) # 0

print(second) # 1

print(rest,type(rest)) # [2, 3, 4, 5, 6, 7, 8, 9],

使用列表

(1)创建列表

my_tuple = (1,2,'3',4,5)

my_list = list(my_tuple)

print(my_list,type(my_list)) # [1, 2, '3', 4, 5]

my_range = range(1,5)

my_list2 = list(my_list2)

print(my_list2,type(my_list2)) # [1, 2, 3, 4]

(2)增加列表元素

append()会把传入的参数追加到列表最后面。可以接受单个值、列表、元组等,但只把元组、列表当成单个元素。

外汇出入金流程http://www.fx61.com/support

my_list = [1,2,3,'4','5']

my_list.append(6)

print(my_list) # [1, 2, 3, '4', '5', 6]

my_tuple = ('a','b','c')

my_list.append(my_tuple)

print(my_list) # [1, 2, 3, '4', '5', 6, ('a', 'b', 'c')]

如果不希望追加的列表被当成一个整体而是增加列表中的元素时,可使用extend()方法。

my_list = [1,2,3]

my_list2 = ['a','b','c']

my_list.extend(my_list2)

print(my_list) # [1, 2, 3, 'a', 'b', 'c']

my_list.extend(range(3,10))

print(my_list) # [1, 2, 3, 'a', 'b', 'c', 3, 4, 5, 6, 7, 8, 9]

insert()可以在列表中增加元素,并制定插入的位置。

my_list = [1,2,3]

my_list.insert(2,'a')

print(my_list) # [1, 2, 'a', 3]

my_tuple = ('b','c','d')

my_list.insert(3,my_tuple)

print(my_list) # [1, 2, 'a', ('b', 'c', 'd'), 3]

(3)删除列表元素

del可用于删除列表中的元素,也可删除列表中的中间一段,也可用于删除变量。

my_list = [1,2,(3,4,5),'a','b','c']

del my_list[2]

print(my_list) # [1, 2, 'a', 'b', 'c']

del my_list[3:5]

print(my_list) # [1, 2, 'a']

my_list2 = list(range(1,10))

del my_list2[2:-2:2]

print(my_list2) # [1, 2, 4, 6, 8, 9]

del删除变量。

num = 10

del num

print(num) # NameError: name 'num' is not defined

remove()删除匹配到的第一个列表元素。

my_list = [1,2,3,1,1,4,'5']

my_list.remove(1)

print(my_list) # [2, 3, 1, 1, 4, '5']

clear()清空列表的所有元素。

my_list.clear()

print(my_list) # []

(4)修改列表元素

通过索引修改列表元素(正数索引、负数索引)

my_list = [1,2,'a','b']

my_list[-2] = 3

print(my_list) # [1, 2, 3, 'b']

通过slice()对列表其中一部分赋值,不要求新赋值元素个数与原来元素个数相等,这样既可为列表增加元素,亦可为列表删除元素。

my_list = list(range(1,5))

my_list[1:3] = ['a','b']

print(my_list) # [1, 'a', 'b', 4]

插入元素。

my_list = list(range(1,5))

my_list[1:3] = ['a','b','c','d','e']

print(my_list) # [1, 'a', 'b', 'c', 'd', 'e', 4]

删除元素。

my_list = list(range(1,5))

my_list[1:3] = []

print(my_list) # [1, 4]

使用字符串赋值会自动把字符串当成序列处理,其中每个字符都是一个元素。

my_list = list(range(1,5))

my_list[1:3] = 'fltenwall'

print(my_list) # [1, 'f', 'l', 't', 'e', 'n', 'w', 'a', 'l', 'l', 4]

使用slice赋值时,也可指定step参数,要求所赋值的列表元素个数与所替换的列表元素个数相等。

my_list = list(range(1,10))

my_list[2:9:2] = ['a','b','c','d']

print(my_list) # [1, 2, 'a', 4, 'b', 6, 'c', 8, 'd']

(5)列表其他常用方法

dir(list)可看到列表包含的所有方法。

count用于统计列表中某个元素出现的次数。

my_list = [1,2,3,2,1,'1','2',3,2,1]

print(my_list.count(2)) # 3

index()用于定位某个元素在列表中出现的位置,可传入start、end参数,用于在列表的指定范围内搜索元素。

print(my_list.index(3,1,8)) # 2

1

pop()与append()

stack = []

stack.append('a')

stack.append('b')

stack.append('c')

print(stack) # ['a', 'b', 'c']

stack.pop() # 'c'

print(stack) # ['a', 'b']

everse()将列表中所有元素顺序反转。

my_list = list(range(1,10))

my_list.reverse()

print(my_list) # [9, 8, 7, 6, 5, 4, 3, 2, 1]

sort()用于列表元素进行排序。

my_list = [1,7,3,5,6,2]

my_list.sort()

print(my_list) # [1, 2, 3, 5, 6, 7]

sort()可传入key和reverse两个参数,这两个参数必须通过参数名指定。key为每个元素都生成一个比较大小的“键”,reverse用于执行是否需要反转排序,默认从小到大。

my_list = ['python','go','java','ruby','lua']

my_list.sort(key=len,reverse=True)

print(my_list) # ['python', 'java', 'ruby', 'lua', 'go']



推荐阅读
  • 本文节选自《NLTK基础教程——用NLTK和Python库构建机器学习应用》一书的第1章第1.2节,作者Nitin Hardeniya。本文将带领读者快速了解Python的基础知识,为后续的机器学习应用打下坚实的基础。 ... [详细]
  • 本文介绍了 Python 中的基本数据类型,包括不可变数据类型(数字、字符串、元组)和可变数据类型(列表、字典、集合),并详细解释了每种数据类型的使用方法和常见操作。 ... [详细]
  • 如何在 Python 列表中添加元素 [Python 基础]
    本文介绍了 Python 中常用的三种方法来向列表中添加元素:`append()`、`extend()` 和 `insert()`。这些方法分别适用于不同的场景,帮助开发者灵活地管理列表数据。 ... [详细]
  • 本题主要考察二维数组的遍历和重塑。通过将二维数组降为一维,再根据新的行数和列数重新构建矩阵。 ... [详细]
  • 本文详细介绍了Go语言中的数组,包括其基本概念、声明方式、初始化方法以及常见操作。 ... [详细]
  • Python函数的高级用法[python基础]
    Python的函数也是一种值:所有函数都是function对象,这意味着可以把函数本身赋值给变量,就像把整数、浮点数、列表、元组赋值给变量一样;同样可以使用函数作为函数的形参,也可 ... [详细]
  • LeetCode 实战:寻找三数之和为零的组合
    给定一个包含 n 个整数的数组,判断该数组中是否存在三个元素 a、b、c,使得 a + b + c = 0。找出所有满足条件且不重复的三元组。 ... [详细]
  • 使用Tkinter构建51Ape无损音乐爬虫UI
    本文介绍了如何使用Python的内置模块Tkinter来构建一个简单的用户界面,用于爬取51Ape网站上的无损音乐百度云链接。虽然Tkinter入门相对简单,但在实际开发过程中由于文档不足可能会带来一些不便。 ... [详细]
  • 自然语言处理(NLP)——LDA模型:对电商购物评论进行情感分析
    目录一、2020数学建模美赛C题简介需求评价内容提供数据二、解题思路三、LDA简介四、代码实现1.数据预处理1.1剔除无用信息1.1.1剔除掉不需要的列1.1.2找出无效评论并剔除 ... [详细]
  • 本文详细介绍了 Spark 中的弹性分布式数据集(RDD)及其常见的操作方法,包括 union、intersection、cartesian、subtract、join、cogroup 等转换操作,以及 count、collect、reduce、take、foreach、first、saveAsTextFile 等行动操作。 ... [详细]
  • 目录预备知识导包构建数据集神经网络结构训练测试精度可视化计算模型精度损失可视化输出网络结构信息训练神经网络定义参数载入数据载入神经网络结构、损失及优化训练及测试损失、精度可视化qu ... [详细]
  • 包含phppdoerrorcode的词条 ... [详细]
  • MySQL初级篇——字符串、日期时间、流程控制函数的相关应用
    文章目录:1.字符串函数2.日期时间函数2.1获取日期时间2.2日期与时间戳的转换2.3获取年月日、时分秒、星期数、天数等函数2.4时间和秒钟的转换2. ... [详细]
  • Spring Data JdbcTemplate 入门指南
    本文将介绍如何使用 Spring JdbcTemplate 进行数据库操作,包括查询和插入数据。我们将通过一个学生表的示例来演示具体步骤。 ... [详细]
  • 浅析python实现布隆过滤器及Redis中的缓存穿透原理_python
    本文带你了解了位图的实现,布隆过滤器的原理及Python中的使用,以及布隆过滤器如何应对Redis中的缓存穿透,相信你对布隆过滤 ... [详细]
author-avatar
手机用户2502883105
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有