python学习笔记#2元组和列表

2023-11-16

python学习笔记#2元组和列表


前言

学习python的复杂数据类型,tuple和list的区别和其部分功能的使用。
补充:string需要到包含引号的使用。


一、string包含引号

举例:

str_var1 = '"666"'
print(str_var1, type(str_var1))
str_var2 = "I'm,student"
print(str_var2, type(str_var2))

结果如下:

"666" <class 'str'>
I'm,student <class 'str'>

即当字符串含有引号时应该尽量不要使用相同类型防止冲突。

二、复杂数据类型

1.序列

序列:sequence
储存时,对值有下标供访问。正下标从左往右从0开始,负下标从右往左从-1开始。

str_data = "1234567890"
print(str_data[4])
print(str_data[-6])

两者访问到的值均为 5

2.tuple:元组

也是一种序列的形式:可以存储不同类型的数据。定义的形式:(元素1, 元素2, 元素3) ,另一种定义形式tuple()

tuple_var = (1, 1.1, 1+2j, "123", b'', True, None, tuple())
print(tuple_var, type(tuple_var))

结果如下:

(1, 1.1, (1+2j), '123', b'', True, None, ()) <class 'tuple'>

元素不仅包括7种基本数据类型,也包括tuple本身
获得函数的帮助可使用ctrl+鼠标左键或者help()以及 python官方文档
help(tuple)
可以得到使用方法,解释和可用方法

class tuple(object)
 |  tuple(iterable=(), /) -- iterable  可迭代的 即多元素,/表示其之前的参数不能使用参数名 = 这种方式传值,其本身不是一个参数,只用来限制它前面参数传参的形式
 |  Built-in immutable sequence.  元组是一个不可变的序列即无法给元组赋值
...
count(self, value, /) -- 计数
 |      Return number of occurrences of value.
 |  
index(self, value, start=0, stop=9223372036854775807, /) -- 索引,默认从0开始索引到最后(不超过最大值)返回找到的第一个值的下标
 |      Return first index of value.
 |      Raises ValueError if the value is not present. -- 无法找到不存在的值,会报错

使用方式如下

tuple_var1 = tuple("123332")
print(tuple_var1.count('3'))
print(tuple_var1.index('3'))

可以得到返回值计数为3,索引为下标2


2.list:列表

也是一种序列,可以存储不同类型的数据。定义的形式: [元素1, 元素2, 元素3],另一种定义形式list[]

list_var = [1, 1.1, 1+2j, "123", b'', True, None, (1, 2, 3), [1, 2, 3]]
print(list_var, type(list_var))

元素除7种基本数据类型,也包括tuple和list本身
help(list)

class list(object)
 |  list(iterable=(), /)
 |  list为可变的序列,也就是可以被赋值
 |  Built-in mutable sequence.

list列表可使用的方法有11种,以 list_var1 = list(“123”)举例,直接打印可以得到
[‘1’, ‘2’, ‘3’]

append(self, object, /) # 追加,在原列表末尾增加一个值
 |      Append object to the end of the list.
list_var1 = list("123")
list_var1.append("456")
print(list_var1)

可以得到[‘1’, ‘2’, ‘3’, ‘456’]

clear(self, /) # 清空
 |      Remove all items from list.
 list_var1.clear()

copy(self, /) # 浅拷贝
 |      Return a shallow copy of the list.

浅拷贝创建新的对象指向相同的地址也就是拷贝了一份指针。如果原地址内存中的内容发生改变,那么浅拷贝的内容也会发送改变。

 |  count(self, value, /) # 计数
 |      Return number of occurrences of value.
 list_var1.count('3')
 |  extend(self, iterable, /) # 延申,和追加类似但结果不同
 |      Extend list by appending elements from the iterable.
list_var1.extend("456")
print(list_var1)

可以得到[‘1’, ‘2’, ‘3’, ‘4’, ‘5’, ‘6’]

 |  index(self, value, start=0, stop=9223372036854775807, /) # 索引,默认从0开始索引到最后(不超过最大值)返回找到的第一个值的下标
 |      Return first index of value.
 |      Raises ValueError if the value is not present.# 无法找到不存在的值,会报错
 |  insert(self, index, object, /) # 插入,必须要输入插入的下标位置
 |      Insert object before index.
list_var1.insert(0, '0')
print(list_var1)

可以得到[‘0’, ‘1’, ‘2’, ‘3’]

 |  pop(self, index=-1, /) # 弹出,有返回值,返回弹出的值,默认弹出后进的值
 |      Remove and return item at index (default last).
 |      
 |      Raises IndexError if list is empty or index is out of range.
return_value = list_var1.pop(1)
print(return_value)
print(list_var1)

可以得到2 [‘1’, ‘3’]

 |  remove(self, value, /)  # 删除遇见的第一个值()
 |      Remove first occurrence of value.
 |      
 |      Raises ValueError if the value is not present.
 |  reverse(self, /) # 倒序1,3,2->2,3,1
 |      Reverse *IN PLACE*.
 |  
 |  sort(self, /, *, key=None, reverse=False) # 默认排序(升序)1,3,2,4->1,2,3,4,*之后的参数必须以参数名 = 的方式传输
 |      Sort the list in ascending order and return None.
 |      
 |      The sort is in-place (i.e. the list itself is modified) and stable (i.e. the
 |      order of two equal elements is maintained).
 |      
 |      If a key function is given, apply it once to each list item and sort them,
 |      ascending or descending, according to their function values.
 |      
 |      The reverse flag can be set to sort in descending order.

总结

tuple和list的区别在于tuple元组不可变不可被赋值,而list列表可以被赋值。本文仅仅简单介绍了对应函数的使用,因为list可变,所以可通过直接转化的方式。至此,我们总共学习了9种数据基本类型,其中是序列的有字节型b’',字符串string,元组tuple,列表list共四种。
这里主要是需要学会如何利用帮助读懂并学会使用各个数据类型的方法。
(本文为初学者学习笔记,若有错误之处,感谢大佬指正!)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

python学习笔记#2元组和列表 的相关文章

随机推荐

  • linux socket 开源库,libsocket

    README for libsocket BUILDING libsocket If you want to install both libsocket and libsocket simply use this command mkdi
  • 纯JS实现国家/省/市三级级联

    偷懒只加入了部分数据 HTML模块 div 国家 div
  • STM32F4时钟系统

    目录 1 STM32有5个时钟源 HSI HSE LSI LSE PLL 2 系统时钟SYSCLK可来源于三个时钟源 3 STM32F4时钟信号输出MC01 PA8 和MCO2 PC9 4 系统时钟初始化函数 SystemInit 1 ST
  • 存在隐患 : 3 racks are required for the erasure coding policies: RS-6-3-1024k. The number of racks is on

    刚装的CDH6 2 1版本的集群 172 30 81 203 manager 172 30 81 204 node1 172 30 81 205 node2 172 30 81 206 node3 存在隐患 9 DataNodes are
  • 安卓中高级开发面试知识点之——缓存

    几乎所有的项目都做了缓存 但是缓存做的怎么样 其实只有我们自己知道 缓存做的好 没有网络也能流畅的使用 再多的数据请求都不会出现卡顿延迟等待很久的情况 程序中除了图片缓存 三级缓存 还有信息缓存 当用户无法联网时 app会默认显示缓存的数据
  • 线速度和角速度

    转自 https baike baidu com item E7 BA BF E9 80 9F E5 BA A6 1532652 fr aladdin https baike baidu com item E8 A7 92 E9 80 9F
  • 人脸识别是最早走向实际应用的技术之一

    会员的刷脸消费 适合特殊场景下的消费 如健身俱乐部 夜店等无卡场所 目前 众多连锁超市 商城百货等多家医院 地铁都在普及刷脸支付 没有什么人和事可以随随便便成成功 商海战役亦如是 正因为刷脸支付给商家和消费者带来了如此多的便利和实惠 所以刷
  • (转)StyleCop

    微软的StyleCop作为一款代码分析插件 集成到Visual Studio 2008和Visual Studio 2010之中 可以帮助开发人员迅速地理清编程规范问题 对确保软件质量 确保软件开发效率而言 意义非凡 与同样出自微软的另一款
  • python运行时:ModuleNotFoundError: No module named ‘tensorflow‘

    TensorFlow报错 python或者anaconda运行时显示 一般的解决方案 pip install upgrade ignore installed tensorflow 或者 pip install user upgrade i
  • oom killer 详解

    一 oom killer理解和日志分析 知识储备 oom killer日志分析 这是前篇 准备一些基础知识 带着问题看 1 什么是oom killer 是Linux内核设计的一种机制 在内存不足的时候 选择一个占用内存较大的进程并kill掉
  • Navicat使用HTTP通道服务器进行连接mysql数据库(超简单三分钟完成),centos安装nginx和php,docker安装nginx+php合并版

    序言 因为数据库服务器在外网是不能直接连接访问的 但是可以访问网站 网站后台就能访问数据库 所以在此之前 访问数据库的数据是一件非常麻烦的事情 在平时和运维的交流中发现 他们会使用ssh通道进行连接访问数据库 之前并没在意这个东西 直到运维
  • moment函数转换后的时间不正确,带有 “sa“等奇怪的字母

    目录 一 问题 二 解决方法 三 总结 一 问题 1 使用moment函数转换当前日期的格式为 年 月 日 结果转换出来竟然有一些 字母 迷之自信 这不就是这样吗 给了转换格式 给了转换时间 字母就出现这种奇葩的情况 1 代码如下 let
  • 子类化QAbstractTableModel,实现table列排序和整列拖动功能

    子类化QAbstractTableModel 实现table列排序和整列拖动功能 本程序基于Qt5 9 9 Qt creator 4 11 0实现 效果图 1 子类化QAbstractTableModel 主要是实现QAbstractTab
  • 减一天 日期函数_【Excel】日期加减运算法则

    前几天小八和大家分享了如何使用快捷键和函数 快速的输入日期 如果有人不记得了 可以再回顾下 链接如下 Excel 日期木有改 又被领导骂了 除了怎么输入 我想大家更头疼的是 日期怎么参与计算 今天小八就来分享几个日期计算的方法 1 加减1天
  • python实现简易五子棋小游戏(三种方式)

    tkinter库 Python的标准Tk GUI工具包的接口 示例 from tkinter import root Tk 你的ui代码 Label root text hello world pack root mainloop 弹窗结果
  • VS Code集成终端字体修改 & 字体颜色、大小修改方法

    文章目录 VS Code中设置颜色的方法 字体以及字体大小修改 参考 VS Code中设置颜色的方法 通过将以下内容添加到用户设置中 ctrl 并搜索 workbench 然后点击 Edit in settings json 在最后加上如下
  • 国家智慧教育公共服务平台(2023年暑期教师研修)

    前言 最近又要看2023年暑期教师研修高等教育教师专业发展 抓包发现开启倍数无效了 要一个一个点击看视频 岂不是累死人 于是想个办法解放双手 该网站观看视频时 客户端间隔20 50s向服务端发送一个POST请求 服务器每秒返回ts响应 1
  • python数据分析预处理z-score标准化

    一 z score标准化的python代码 import pandas from pandas import read excel from sklearn import preprocessing dataset read excel p
  • 强化学习入门《Easy RL》

    什么是强化学习 强化学习关注的是智能体 Agent 在复杂的环境 Environment 中如何最大化获得的奖励 Reward 智能体和环境两部分组成了强化学习 在强化学习过程中 智能体与环境一直在交互 智能体在环境中获取某个状态后 它会利
  • python学习笔记#2元组和列表

    python学习笔记 2元组和列表 文章目录 python学习笔记 2元组和列表 前言 一 string包含引号 二 复杂数据类型 1 序列 2 tuple 元组 2 list 列表 总结 前言 学习python的复杂数据类型 tuple和