python中元组和列表转化_4.Python列表/元组/集合/字典

4.1 Python列表

• 列表用 [ ] 标识,是Python 最通用的复合数据类型。
• 列表用 [ ] 表示,列表具有可嵌套性

6243ee6ed47e4e71331655259315b8a7.png

4.1.1 Python列表截取

• 列表可以使用 [头下标:尾下标] 截取相应的子列表, 从左到右索引默认 0 开始,从右到左索引默认-1开始

7b8666443d06f7b4362f2505e844a133.png

4.1.2 Python列表截取与更新

• 列表操作(索引)

b2ea3dcfa59420881b56c4a2f5978416.png

4.1.3 Python更新列表

• 可以对列表的数据项进行修改或更新,也可以使用append()方法来添加列表项。

f000b5b1ce847e92b6a69a7bd38956c3.png

4.1.4 Python删除列表元素

• 可以使用 del 语句来删除列表的的元素。

d511d901368b2e44aa9a5bf9a9cb8a92.png

4.1.5 Python列表操作符

d77ebfbb1226b5faacc10db7c41b5d7a.png

4.1.6 Python列表函数

07fc63c1434d27f648fdc98e1e3cc774.png

4.1.7 Python列表方法

043a710ebc13448119b0772eabf21931.png

4.1.8 Python列表切片

• 列表操作(切片slicing ,用索引截取某一段列表)

e8495de11a67ced952134e43534c66a1.png

3c4d24df3dea7f8a175efcc6cf2e82db.png

• 加号+是列表连接运算符,星号*是重复操作。例如:

66d6fe97b2f71e9a6761fef84bf28ca7.png

4.2 Python元组

• 元组是一种复合数据类型,类似于List(列表),元组用()”标识,内部元素用逗号隔开。但是元组不能二次赋值,相当于只读列表。

d3b8533e112bcf0261ac56f0c986060b.png

• Tuples(元组、序列)

33cc9c086cac548b85fb2005d2da9669.png

• Tuples操作

0a74faefd0acfd40553c77b5bb807114.png

4.2.1 Python元组截取

068eb3b9251036e006ee7ce2684af8b4.png

4.2.2 Python元组不允许二次赋值

• Python元组不允许更新,而列表是允许更新的。以下对元组的操作是无效的。

e2d8d7719943feeef5b421c80d8c5408.png

4.2.3 元组内置函数

d31ef5dd98ea2190d88f3c305c9c7200.png

4.3 Python集合(Set)

• 集合(set)是由一个或数个形态各异的大小整体组成的
• 可以使用大括号 { } 或者 set() 函数创建集合,注意:创建一个空集合必须用 set() 而不是{ },因为 { } 是用来创建一个空字典。
• 创建集合格式:

2ce6588e27f8771711880513bc54ca2e.png

• 或者

604df5b10d3357787328572778b500ef.png

de67e2fc8d29153c600f6dabdf9e1fc9.png

4.4 Python字典

• 字典是一种映射类型,字典用“{}”标识,它是一个无序的键(key) : 值(value)对的集合。键(key)必须使用不可变类型。在同一个字典中,键(key)必须是唯一的。
• 字典是无序的对象集合。
• Dictionaries (Key-Value型Map)

2c8aab47b27611c277a9724f04ed7326.png

537565b15a4cdc99ecfcdfe00113f042.png

cbe376988cdee248f8ce48a1c2d95cd3.png

4.5 Python序列

• 序列(sequence),在Python中是一种具有相同特性的高级数据结构的统称
• 序列的通用操作:
① 通过索引来获取元素值
② 分片操作
③ 通过+合并元素
④ 通过*来复制元素
⑤ 支持成员运算符
⑥ 最大值、最小值和长度函数支持

904e672b96a31eb251950c0e59e8d313.png

4.6 Python数据类型转换

• 对数据内置的类型进行转换,只需要将数据类型作为函数名即可。

38f3f4f8d0908e27c5083463a34e9218.png

4.7 实验

In:

ls1 = ['a,',['b',['c','d']]]

In:

id(ls1)

out:

2078516844424

In:

ls1 = ['c','d']

In:

id(ls1)

out:

2078505627016

In:

ls1

out:

['a,', ['b', ['c', 'd']]]

In:

ls1[1][1][1]

out:

'd'

In:

a1 = 1

In:

id(a1)

out:

140727695483280

In:

a1 = 2

In:

id(a1)

out:

140727695483312

In:

ls1[0] = 'f'
ls1

out:

['f', ['b', ['c', 'd']]]

In:

id(ls1)

out:

2078516829704

In:

ls1.append(['h','g'])

In:

id(ls1)

out:

2078516844424

In:

ls1

out:

['f', ['b', ['c', 'd']], ['h', 'g']]

In:

del ls1[0]
ls1

out:

[['b', ['c', 'd']], ['h', 'g']]

In:

ls2 = ['q','e']
ls1 + ls2

out:

[['b', ['c', 'd']], ['h', 'g'], 'q', 'e']

In:

'q' in ls2

out:

True

In:

for x in ls2:print(x, end=' ')

out:

q e

In:

list((1,2))

out:

[1, 2]

In:

ls1.extend(ls2)
ls1

out:

[['b', ['c', 'd']], ['h', 'g'], 'q', 'e', 'q', 'e', 'q', 'e']

In:

ls1.insert(0,'z')

In:

ls1

out:

['z', ['b', ['c', 'd']], ['h', 'g'], 'q', 'e', 'q', 'e', 'q', 'e']

In:

ls1.pop()
ls1

out:

['z', ['b', ['c', 'd']], ['h', 'g'], 'q', 'e', 'q', 'e']

In:

ls1.remove('z')

In:

ls1

out:

[['b', ['c', 'd']], ['h', 'g'], 'q', 'e', 'q', 'e']

In:

ls1.reverse()

In:

ls1

out:

['e', 'q', 'e', 'q', ['h', 'g'], ['b', ['c', 'd']]]

In:

ls2.sort()

In:

ls2.sort(reverse=True)

In:

# ls1.sort() #嵌套类型不能用

In:

ls2

out:

['q', 'e']

In:

ls2.append('e')
ls2

out:

['q', 'e', 'e']

4.7.1 元组

In:

tu1  = ('a',1,['c','d'])

In:

tu1[0] = 'e'

out:

---------------------------------------------------------------------------TypeError                                 Traceback (most recent call last)<ipython-input-38-75e55e2a1153> in <module>
----> 1 tu1[0] = 'e'
TypeError: 'tuple' object does not support item assignment

4.7.2 集合

  • 不能重复
  • set()
  • 无序
    In:
set([1,1,2])

out:

{1, 2}

In:

a = set([1,2,3])
b = set([4,2,3])

In:

a - b

out:

{1}

In:

a & b

out:

{2, 3}

In:

a | b

out:

{1, 2, 3, 4}

In:

a ^ b

out:

{1, 4}

4.7.3 字典

In:

dic1 = {'a':1,'b':2,'c':3}

In:

dic1['c']

out:

3

In:

#新增
dic1['d'] = 4
dic1

out:

{'a': 1, 'b': 2, 'c': 3, 'd': 4}

In:

s1 = None
# null, nan

In:

dic1['e']

out:

---------------------------------------------------------------------------KeyError                                  Traceback (most recent call last)<ipython-input-61-898ad45657b2> in <module>
----> 1 dic1['e']
KeyError: 'e'

In:

dic1.get('e',None)

In:

dic1.keys()

out:

dict_keys(['a', 'b', 'c', 'd'])

In:

for key in dic1.keys():print(dic1[key])

out:

1
2
3
4

In:

dic1.values()

out:

dict_values([1, 2, 3, 4])

In:

dic1.items()

out:

dict_items([('a', 1), ('b', 2), ('c', 3), ('d', 4)])

In:

for key,val in dic1.items():print(key + "|" +str(val))

out:

a|1
b|2
c|3
d|4

In:

lis1= ['a',1,['c','d']]

In:

a1,a2,a3 = lis1

In:

print(a1,a2,a3)

out:

a 1 ['c', 'd']

无序字典
In:

dic3 = {'a':1,'b':2}
dic4 = {'b':2,'a':1}
dic3 == dic4

out:

True

有序字典
In:

from collections import OrderedDict
dic11 = OrderedDict()
dic11['a'] = 1; dic11['b'] =2

In:

dic12 = OrderedDict()
dic12['b'] = 2; dic12['a'] =1
dic11 == dic12

out:

False

In:

print(dic11)

out:

OrderedDict([('a', 1), ('b', 2), ('c', 0), (1, 3)])

In:

dic11.

实验
在一个字典中保存了股票的代码和价格,找出股价大于100元的股票并创建一个新的字典。

说明:可以用字典的生成式语法来创建这个新字典。
In:

stocks = {'AAPL': 191.88,'GOOG': 1186.96,'IBM': 149.24,'ORCL': 48.44,'ACN': 166.89,'FB': 208.09,'SYMC': 21.29
}

In:

tar_dic = {}
for key,val in stocks.items():if val > 100:tar_dic[key] = val

In:

tar_dic

out:

{'AAPL': 191.88, 'GOOG': 1186.96, 'IBM': 149.24, 'ACN': 166.89, 'FB': 208.09}

In:

tar_dic2 = {key:val for key,val in stocks.items() if val > 100}

In:

tar_dic2

out:

{'AAPL': 191.88, 'GOOG': 1186.96, 'IBM': 149.24, 'ACN': 166.89, 'FB': 208.09}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/335713.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【WebRTC---源码篇】(十二)WebRTC/RTX协议

在SDP中可以查询到提前协商好的RTX信息 接受到RTCP NACK 重传RTX包,有效荷载前两个字节为原始seqnumber 如何知道重传的是哪个包 发送RTX

stackoverflow_Stackoverflow:您尚未发现的7个最佳Java答案

stackoverflow您可以在Stackoverflow上找到哪些最有趣的答案&#xff1f; Stackoverflow是开发人员的金矿。 它可以帮助我们找到遇到的特定问题的最有用答案&#xff0c;并且我们总是从中学习新事物。 在以下文章中&#xff0c;我们研究了最受欢迎的Java问题和答案&#xff0…

json请求 post vue_Spring Boot+Vueaxios异步请求数据的12种操作(上篇)

Java大联盟致力于最高效的Java学习关注Spring Boot Vue 前后端分离最核心的操作就是通过异步请求完成数据同步&#xff0c;这其中又可以分为很多种不同的情况&#xff0c;比如是 GET 请求还是 POST 请求&#xff1f;参数是普通变量还是 JSON&#xff1f;基于 RESTful 架构如何…

【WebRTC---源码篇】(十三)WebRTC/Pacer

pacer作用 NextSendTime Timestamp PacingController::NextSendTime() const {Timestamp now = CurrentTime();if (paused_) {return last_send_time_ + kPausedProcessInterval;}// If probing is active, that always takes priority.if (prober_.IsProbing()) {Timest…

全景视觉空间直线检测_视觉SLAM深度解读

近年来&#xff0c;SLAM技术取得了惊人的发展&#xff0c;领先一步的激光SLAM已成熟的应用于各大场景中&#xff0c;视觉SLAM虽在落地应用上不及激光SLAM&#xff0c;但也是目前研究的一大热点&#xff0c;今天我们就来详细聊聊视觉SLAM的那些事儿。视觉SLAM是什么&#xff1f;…

对象必须实现 iconvertible。_java面向对象最全入门笔记(通俗易懂,适合初学者)...

前言:面向对象的三大特征封装 (Encapsulation)继承 (Inheritance)多态 (Polymorphism)编程思想&#xff1a;面向过程&#xff1a;做某件事情都需要自己亲历亲为&#xff0c;按照步骤去完成面向对象&#xff1a;做某件事情不需要自己亲历亲为&#xff0c;只需指定特定的对象去完…

HH SaaS电商系统的结算系统设计

文章目录一、第三方卖家销售货款结算流程说明&#xff1a;销售货款结算逻辑流程图预期收入如何统计二、第三方卖家推广分销佣金结算佣金结算逻辑流程图逾期佣金收入如何统计三、采购货款结算租户采购货款结算流程说明商城采购货款结算流程说明店铺商家的采购货款结算流程说明四…

postgresql删除索引_PostgreSQL 13 发布,索引和查找有重大改进

9月24日&#xff0c;PostgreSQL全球开发组宣布PostgreSQL 13正式发布&#xff0c;作为世界上使用最多的开源数据库之一&#xff0c;PostgresSQL 13是目前的最新版本。PostgreSQL 13 在索引和查找方面进行了重大改进&#xff0c;有利于大型数据库系统&#xff0c;改进包括索引的…

【WebRTC---源码篇】(十六)WebRTC/NetEQ

WebRTC【4096版本】 NetEQ的作用 进行抖动控制和丢包隐藏,通过该技术可以让音频更平滑 NetEQ插入packet数据 int NetEqImpl::InsertPacketInternal(const RTPHeader& rtp_header,rtc::ArrayView<const uint8_t> payload) {//如果有效荷载payload为空if (paylo…

HH SaaS电商系统的销售订单设计

文章目录订单销售类型订单优惠优惠方式子订单优惠金额订单拆单订单发货销售订单拆单逻辑图销售订单的信息结构相关实体订单运营类型&#xff08;作废&#xff09;售后截止时间订单状态状态机的设计不同属性组合下的订单状态组合1&#xff1a;实物线上非预售非定制非拼单快递组合…

kafka netty_惠而浦:使用Netty和Kafka的微服务

kafka netty介绍 在上一个博客中 &#xff0c;我介绍了Netty用作Web服务器。 该示例运行良好……只要需要广播服务器即可。 大多数情况下不是很有用。 更有可能的是&#xff0c;每个客户端仅接收针对其的数据&#xff0c;并保留了特殊情况下的广播&#xff0c;例如“服务器在1…

HH SaaS电商系统的拼团系统设计

文章目录拼团业务流程拼团单实体拼团单的状态拼团型订单的销售状态注意点拼团业务流程 创建活动 管理后台创建拼团活动&#xff0c;设置好活动有效期、成团人数、成团时效、限购数量、活动对象、添加活动商品&#xff0c;设置团长价和团员价&#xff0c;活动开始后活动对象在买…

统信uos系统考试题_离Windows更近一步!微信Linux原生版上线:国产统信UOS系统已适配...

就在本月11号&#xff0c;国产操作系统-统信 UOS发布了专业版 V20(1030)&#xff0c;功能更强大&#xff0c;同时性能和安全性均有所提升。而距离这个好消息过去没多久&#xff0c;统信软件官方再次发布了一个好消息&#xff1a;那就是微信桌面客户端(统信 UOS 版)研发完成&…

npm 引用子项目模块_Java / Web项目中的NPM模块Browser-Sync

npm 引用子项目模块Browser-Sync是一个方便的基于Node.js的NPM模块&#xff0c;可用于更快的Web开发。 浏览器同步可在许多设备之间同步文件更改和交互。 最重要的功能是实时重新加载。 我们也可以在Java / Web项目中使用Browser-Sync。 Cagatay Civici创造了一个伟大的 视频教…

xrd精修教程_XRD精修系列干货 | 带你领略晶体之美

1. XRD精修教程(一)——XRD精修基本原理与GSAS软件简介(附GSAS软件下载链接)点击上图即可查看全文X射线衍射分析(XRD)在研究材料的相结构、相成分等多个方面有广泛的应用&#xff0c;但最常用的多晶衍射法有个缺点&#xff1a;得到的谱峰重叠严重&#xff0c;从而造成大量材料结…

多个cpp文件生成so_C++:C++的文件搜索路径

在做大型工程的时候&#xff0c;除了有C语法知识之外&#xff0c;还要有工程能力。最先要具备的能力是&#xff1a;理解C文件的编译&#xff0c;链接过程。明白C头文件的搜索路径。本文&#xff0c;介绍C的文件搜索路径。对于C文件来说&#xff0c;主要有两种&#xff0c;一种是…

HH SaaS电商系统的店铺系统设计

文章目录为什么店铺运营模式要区分B2C、C2C、O2O&#xff1f;O2O店铺B2C店铺自营B2C店铺第三方B2C店铺C2C店铺为什么O2O店铺不允许售卖快递类的商品&#xff1f;B2C、C2C模式的自提和O2O的自提有什么区别&#xff1f;B2C、C2C模式的配送和O2O的配送有什么区别&#xff1f;为什么…

监听js变量的变化_JS监听事件型爬虫

点击上方“Python数据科学”&#xff0c;选择“星标公众号”关键时刻&#xff0c;第一时间送达&#xff01;作者&#xff1a;zuobangbang来源&#xff1a;zuobangbang最近开始研究网页参数的JS加密&#xff0c;但是大型网站的JS文件过于繁杂&#xff0c;不适合新手上路&#xf…

HH SaaS电商系统的支付模块设计

文章目录支付单支付单状态流转逻辑说明支付相关实体支付流水记录支付方式支付渠道支付单 销售订单生成时&#xff0c;同步生成支付单&#xff0c;如果销售订单的应付金额由首付款和尾款组成&#xff0c;那么会生成两个支付单 支付单与销售订单的“联合单号”或者“退款单ID”关…

添加几个手机联系人_One UI 3.0: 更细腻、更好用,这才是手机系统该有的样子

作为全球出货量最多的 Android 手机厂商&#xff0c;三星宣布将于北京时间 1 月 14 日正式召开 2021 年度的新品发布会。伴随着 S21 的即将发售&#xff0c;我想借此机会和大家一起来聊一聊前不久刚刚推送正式版本的 One UI 3.0。One UI 3.0 是三星基于 Android 11.0 打造的新一…