沉吟放拨插弦中,整顿衣裳起敛容。 自言本是京城女,家在虾蟆陵下住。 十三学得琵琶成,名属教坊第一部。 曲罢曾教善才服,妆成每被秋娘妒。 五陵年少争缠头,一曲红绡不知数。 钿头银篦击节碎,血色罗裙翻酒污。 今年欢笑复明年,秋月春风等闲度。 弟走从军阿姨死,暮去朝来颜色故。 门前冷落鞍马稀,老大嫁作商人妇。 商人重利轻别离,前月浮梁买茶去。 去来江口守空船,绕船月明江水寒。 夜深忽梦少年事,梦啼妆泪红阑干。 我闻琵琶已叹息,又闻此语重唧唧。

1.列表

1.1 列表的特点

列表可存储多个可重复、不同类型类型的数据,是有顺序的存储

1.2 列表的声明

# 声明空列表
lst1 = list()# 声明非空列表
lst2 = ["沉吟放拨插弦中", "整顿衣裳起敛容"]

1.3 列表的常用操作

组合数据类型的操作方法,可以借助dir()和help()进行查询,dir()用与查询操作方法,help()用于查询操作方式。dir()和help()的使用不限于组合数据,也可查询其他语句。

# 查询列表的操作方法
dir(list)  # 括号可写列表名# 查询列表中remove操作的使用方法
help(list.remove)

1.3.1 增加数据

# append() 列表末尾追加数据
lst1 = ["沉吟放拨插弦中"]
lst1.append("整顿衣裳起敛容")
print(lst1)# insert(索引, 内容) 列表中指定索引的前面,可以使负索引,超过索引在末尾插入
lst2 = ["沉吟放拨插弦中", "自言本是京城女", "家在虾蟆陵下住"]
lst2.insert(1, "整顿衣裳起敛容")
print(lst2)# extend() 列表末尾增加一组数据
lst3 = ["沉吟放拨插弦中", "整顿衣裳起敛容"]
lst4 = ["自言本是京城女", "家在虾蟆陵下住"]
lst3.extend(lst4)  # 等价于lst3 += lst4
print(lst3)

1.3.2 修改数据

# L[编号] = 新数据  根据索引修改数据, 索引都是从0开始
lst1 = ["自言本是京城女", "家在虾蟆陵下住", "十三学得琵琶成", "名属教坊第一部", "曲罢曾教善才服", "妆成每被秋娘妒", "五陵年少争缠头", "一曲红绡不知数"]
sentence = lst1[3]
print(sentence)# L.reverse()  逆序输出列表
#   注意与倒序排列区分
lst1.reverse()
print(lst1)# L.sort()  排列操作, 同一种类型数据才能排列
# 默认从小到大,如果为字符串,按照ascii码操作
lst2 = [13, 1, 5, 1]
lst2.sort()  # [1, 1, 5, 13]
print(lst2)
# 倒序排列(从大到小)
lst2.sort(reverse=True)
print(lst2)  # [13, 5, 1, 1]# L.sorted() 不改变原列表,返回一个已排好序的列表(从小到大)
#   字符串元素:默认是对字符串中每个字符元素按照ascii码进行比较
lst3 = sorted(lst2)
print(lst3)  # [1, 1, 5, 13]
# 倒序(从大到小)
lst4 = sorted(lst3, reverse=True)
print(lst4)  # [13, 5, 1, 1]

1.3.3 查询数据

lst1 = ["自言本是京城女", "家在虾蟆陵下住", "十三学得琵琶成", "名属教坊第一部", "曲罢曾教善才服", "妆成每被秋娘妒", "五陵年少争缠头", "一曲红绡不知数"]
# 查询所有数据 通过for循环遍历输出
for i in lst1:print(i)# L.index(数据) 查询从左到右找到的第一个数据的索引
index = lst1.index("一曲红绡不知数")
print(index)  # 结果:7# L[索引] 通过索引查询数据,索引可以为负,-1对应最后一个元素
s = lst1[5]
print(s)# L.count(数据) 查询数据出现的次数
lst2 = [13, 1, 5, 1]
times = lst2.count(1)
print(times)  # 2lst1 = ["自言本是京城女", "家在虾蟆陵下住", "十三学得琵琶成", "名属教坊第一部", "曲罢曾教善才服", "妆成每被秋娘妒", "五陵年少争缠头", "一曲红绡不知数"]
# 查询所有数据 通过for循环遍历输出
# for i in lst1:
#     print(i)# L.index(数据) 查询从左到右找到的第一个数据的索引
index = lst1.index("一曲红绡不知数")
print(index)  # 结果:7# L[索引] 通过索引查询数据,索引可以为负,-1对应最后一个元素
s = lst1[5]
print(s)# L.count(数据) 查询数据出现的次数
lst2 = [13, 1, 5, 1]
times = lst2.count(1)
print(times)  # 2

1.3.4 删除数据

lst1 = ["自言本是京城女", "家在虾蟆陵下住", "十三学得琵琶成", "名属教坊第一部", "曲罢曾教善才服", "妆成每被秋娘妒", "五陵年少争缠头", "一曲红绡不知数"]
print(lst1)
# L.pop(索引) 删除指定索引的数据并返回值, 默认删除末尾数据,括号内加索引可删除指定数据
s = lst1.pop(5)
print(s)# del L[索引]: 删除指定索引的数据
# del 列表:删除列表
# del是python内置功能,对其他数据删除操作也可使用
del lst1[4]
print(lst1)# remove(数据) 删除从左到右找到的第一个数据
lst1.remove("家在虾蟆陵下住")
print(lst1)# clear() 清空列表
lst1.clear()
print(lst1)

1.3.5 其他操作

lst1 = [13, 1, 5, 1]
# len(L) 获取列表中数据的个数
v1 = len(lst1)
print(v1)
# max(L) 获取列表中最大值, 需要同一种类型数据
v2 = max(lst1)
print(v2)
# min(L) 获取列表中最小值 同一种类型数据
v3 = min(lst1)
print(v3)
# 列表重复 L * 重复次数
lst2 = lst1 * 3
print(lst2)

2.元组

2.1 元组的特点

元组用于存储可重复,不同类型的数据,是有顺序的存储,不能被修改(不能进行增删改)
但如果元素本身是一个可变数据类型的列表,那么其嵌套项可以被改变

2.2 元组的声明

# 声明空元组
t1 = tuple()# 一个元素元组
t2 = ("钿头银篦击节碎",)  # 要加逗号,不加则认为是四则运算括号
print(t2)# 多个元素元组
t3 = ("钿头银篦击节碎", "血色罗裙翻酒污")
print(t3)

2.3 元组的常用操作

t1 = ("钿头银篦击节碎", "血色罗裙翻酒污", "今年欢笑复明年", "秋月春风等闲度")
t2 = (13, 1, 5, 1)# T.count() 查询一个元素出现次数
v1 = t2.count(1)
print(v1)  # 2# T.index() 查询一个元素出现的位置
v2 = t1.index("秋月春风等闲度")
print(v2)  # 3# T[索引] 查询指定索引位置元素
v3 = t1[2]
print(v3)# len(T) 查询元素个数
v4 = len(t1)
print(v4)  # 4# 元组合并
t3 = ("钿头银篦击节碎", "血色罗裙翻酒污")
t4 = ("今年欢笑复明年", "秋月春风等闲度")
t5 = t3 + t4
print(t5)  # ('钿头银篦击节碎', '血色罗裙翻酒污', '今年欢笑复明年', '秋月春风等闲度')
# 元组重复
t6 = t4 * 2
print(t6)  # ('今年欢笑复明年', '秋月春风等闲度', '今年欢笑复明年', '秋月春风等闲度')

3.集合

3.1 集合的特点

集合中的数据不可重复,可以是不同类型数据(只能是不可变类型数据),是无序的存储

3.2 集合的声明

# 声明空集合
s1 = set()# 声明非空集合
s2 = {"弟走从军阿姨死", "暮去朝来颜色故"}

3.3 集合的常用操作

3.3.1 单集合操作

s1 = {"弟走从军阿姨死", "暮去朝来颜色故"}# add 增加
s1.add("门前冷落鞍马稀")
s1.add("老大嫁作商人妇")
print(s1)# copy 复制一个集合
s2 = s1.copy()
print(s2)# pop 随机删除一个数据
s1.pop()
print(s1)# remove 删除指定数据,数据不存在则报错
s2.remove("窗前明月光")
print(s2)  # 报错 KeyError# diascard 删除指定数据,数据不存在则什么都不做
s2.discard("老大嫁作商人妇")
print(s2)# clear 清空集合
s2.clear()
print(s2)  # set()

3.3.2 两个集合操作

s1 = {"弟走从军阿姨死", "暮去朝来颜色故", "门前冷落鞍马稀", "老大嫁作商人妇"}
s2 = {"门前冷落鞍马稀", "老大嫁作商人妇"}
s3 = {"门前冷落鞍马稀", "老大嫁作商人妇", "商人重利轻别离", "前月浮梁买茶去"}
s4 = {"商人重利轻别离", "前月浮梁买茶去", "去来江口守空船", "绕船月明江水寒"}# isdisjoint 判断两个集合是否包含相同的元素,如果没有返回 True
v1 = s1.isdisjoint(s3)
v2 = s1.isdisjoint(s4)
print(v1)  # False
print(v2)  # True# issubset s1 集合中的数据是不是包含在 s2 集合中,等价于 s1 < s2
v3 = s1.issubset(s2)
v4 = s2.issubset(s1)
print(v3)  # False
print(v4)  # True# issuperset s1 集合是不是包含了 s2 集合中的数据,等价于 s1 > s2
v5 = s1.issuperset(s2)
v6 = s2.issuperset(s1)
print(v5)  # True
print(v6)  # False# difference 获取 s1 集合和 s2 集合的差集 {x∣x∈A,且x∉B}
s5 = s1.difference(s2)
print(s5)  # {'弟走从军阿姨死', '暮去朝来颜色故'}
# 若要直接将数据结果更新到s1, 则使用difference_update, 使用方法相同# intersection 获取 s1 集合和 s2 集合的交集
s6 = s1.intersection(s3)
print(s6)  # {'门前冷落鞍马稀', '老大嫁作商人妇'}
# 若要直接将数据结果更新到s1, 则使用intersection_update, 使用方法相同# symmetric_difference 获取 s1 和 s2 共同的差集
s7 = s1.symmetric_difference(s3)
print(s7)  # {'商人重利轻别离', '暮去朝来颜色故', '弟走从军阿姨死', '前月浮梁买茶去'}
# 若要直接将数据结果更新到s1, 则使用symmetric_difference_update, 使用方法相同# union 获取 s1 和 s2 的并集
s8 = s1.union(s3)  # {'商人重利轻别离', '门前冷落鞍马稀', '弟走从军阿姨死', '老大嫁作商人妇', '前月浮梁买茶去', '暮去朝来颜色故'}
print(s8)
# 若要直接将数据结果更新到s1, 则使用update, 使用方法相同

4.字典

4.1 字典的特点

存放键值对(key:value)数据,key不能重复,value可以重复,如果key重复会覆盖前面的value,key必须是不可变数据类型,python3.6版本前字典是无序的,3.7版本后是有序的

4.2 字典的声明

# 声明空字典
d1 = dict()# 声明非空字典
d2 = {"1": "夜深忽梦少年事", "2": "梦啼妆泪红阑干"}

4.3 字典的常用操作

4.3.1 增加、修改数据

d = {"1": "夜深忽梦少年事", "2": "梦啼妆泪红阑干"}# D.setdefault(key, value) 如果 key 不存在,增加 key: value 到字典中,如果 k 存在,无任何操作
d.setdefault("3", "我闻琵琶已叹息")
print(d)  # {'1': '夜深忽梦少年事', '2': '梦啼妆泪红阑干', '3': '我闻琵琶已叹息'}# D[key] = value 如果 key 不存在,新增一个键值对数据,key存在会更新相应的value
# D.update({key: value}) 如果 key 不存在,增加 key: value 到字典中,如果 k 存在更新对应的value,等价于 D[key] = value
d.update({"4": "又闻此语重唧唧"})
print(d)  # {'1': '夜深忽梦少年事', '2': '梦啼妆泪红阑干', '3': '我闻琵琶已叹息', '4': '又闻此语重唧唧'}
d.update({"2": "窗前明月光"})
print(d)  # {'1': '夜深忽梦少年事', '2': '窗前明月光', '3': '我闻琵琶已叹息', '4': '又闻此语重唧唧'}
d["2"] = "梦啼妆泪红阑干"
print(d)  # {'1': '夜深忽梦少年事', '2': '梦啼妆泪红阑干', '3': '我闻琵琶已叹息', '4': '又闻此语重唧唧'}

4.3.2 查询数据

d = {'1': '我闻琵琶已叹息', '2': '又闻此语重唧唧'}# D.items() 获取所有的键值对 key:value
v1 = d.items()
print(list(v1))  # [('1', '我闻琵琶已叹息'), ('2', '又闻此语重唧唧')]# D.keys() 获取所有的 key 数据
v2 = d.keys()
print(list(v2))  # ['1', '2']# D.values() 获取所有的 value 数据
v3 = d.values()
print(list(v3))  # ['我闻琵琶已叹息', '又闻此语重唧唧']# D.get(key) 获取 k 对应的 value 数据 存在值时等价于 D[key]
# get方法值不存在默认返回None,也可指定返回值:get(key, 返回值), D[key]值不存在会报错
v4 = d.get("1")
v5 = d["2"]
print(v4)  # 我闻琵琶已叹息
print(v5)  # 又闻此语重唧唧

4.3.3 删除数据

d = {'1': '夜深忽梦少年事', '2': '梦啼妆泪红阑干', '3': '我闻琵琶已叹息', '4': '又闻此语重唧唧'}# D.pop(key) 删除 key 对应的value,并返回value
# del D[key] 删除 key 对应的value
# del D 删除整个字典
v1 = d.pop("1")
print(v1)  # 夜深忽梦少年事
del d["2"]
print(d)  # {'3': '我闻琵琶已叹息', '4': '又闻此语重唧唧'}# D.popitem() 删除最后一个键值对(python3.7版本),随机删除一个键值对并返回键值对(python3.6版本前)
v2 = d.popitem()
print(v2)  # ('4', '又闻此语重唧唧')
print(d)  # {'3': '我闻琵琶已叹息'}

4.3.4 其他操作


d1 = {'1': '我闻琵琶已叹息', '2': '又闻此语重唧唧'}# copy 复制字典
d2 = d1.copy()
print(d2)  # {'1': '我闻琵琶已叹息', '2': '又闻此语重唧唧'}# clear 清空字典
d2.clear()
print(d2)

沉吟放拨插弦中,整顿衣裳起敛容——python组合数据相关推荐

  1. 在机器学习中,如何用Python进行数据预处理?

    数据分析之路持续学习中- - - 近期学习了机器学习中的数据预处理章节,在此进行分享,欢迎大家讨论指正. 顺便说一下,这里我使用的软件是Anacnoda 3中已经安装好的Spyder 3,这个软件用起 ...

  2. flask中的可拨插视图

    2019独角兽企业重金招聘Python工程师标准>>> flask中的可拨插视图主要是为了代码的复用. 可拨插视图其实是一个类,需要继承flask.views.View类,必须实现d ...

  3. R语言使用reshape2包的melt函数将dataframe从宽表到长表(Wide- to long-format)、如果没有指定行标识符号,则所有的字段都会放入variable变量中

    R语言使用reshape2包的melt函数将dataframe从宽表到长表(Wide- to long-format).如果没有指定行标识符号,则所有的字段都会放入variable变量中 目录

  4. Android:如何将Enum放入捆绑包中?

    本文翻译自:Android: How to put an Enum in a Bundle? 如何将Enum对象添加到Android Bundle? #1楼 参考:https://stackoom.c ...

  5. char N2Char(int n)函数:将一个整数转换为字符串,并放入一个字符串中

    //将一个整数转换为字符串,并放入一个字符串中 char N2Char(int n)//一次只能转换一个数 {int i;char c;if ((i = n / 10) != 0)N2Char(i); ...

  6. java怎么把数据封进对象里_(Java)想把数组中一条一条的数据全部放入对象中去..要怎么做呢...

    展开全部 Java把数组中一条一条的数据全部放入对象中去操作如下: 1.先获取到数组中的数据dataArray数据. 2.接32313133353236313431303231363533e58685 ...

  7. 打印1-400以内 能同时被5和9 整数的数将这些数放入一个列表中,再输出这个列表

    import java.util.ArrayList;/*** @author silence* 打印1-400以内 能同时被5和9 整数的数将这些数放入一个列表中,再输出这个列表*/ public ...

  8. 集合练习。学生信息包括学号、姓名、出生日期、性别。把N个学生的信息放入一个集合中。可以根据学号,对学生信息进行检索。并可以根据生日进行排序输出。

    集合练习.学生信息包括学号.姓名.出生日期.性别.把N个学生的信息放入一个集合中.可以根据学号,对学生信息进行检索.并可以根据生日进行排序输出. Student.java package Collec ...

  9. 汇编三星题:已知数组A包含20个互不相等的字型整数,数组B包含30个互不相等的字型整数,试编制一程序把在A中而不在B中出现的整数放于数组C中。

    已知数组A包含20个互不相等的字型整数,数组B包含30个互不相等的字型整数,试编制一程序把在A中而不在B中出现的整数放于数组C中. DATAS SEGMENTBUFA DW 123BH,2,3,4,5 ...

最新文章

  1. Aho-Corasick 多模式匹配算法(AC自动机) 的算法详解及具体实现
  2. 基于NB-IoT的智慧路灯监控系统(NB-IoT专栏—实战篇4:PC应用开发)
  3. ImportError: The plotly.plotly module is deprecated,please install the chart-studio
  4. centos7 安装telnet服务
  5. 电商购物网站开发需要注意这些问题
  6. android 点击外部接收事件,Android Dialog外部点击事件
  7. Java项目 常用包的命名及理解【dao包、domain包、service包、utils包、web包、impl包】
  8. swift -- 数组
  9. windows安装 Git Large File Storage大文件下载工具ge
  10. 检测到在集成的托管管道模式下不适用的ASP.NET设置的解决方法(非简单设置为【经典】模式)。 - CatcherX...
  11. ansible 使用主机IP批量修改机器名
  12. 解决VS在高DPI下设计出的Winform程序界面变形问题
  13. C++两种编写单件模式方法对比
  14. kafka--Struct Streaming--console案例入门
  15. java的关闭钩子(Shutdown Hook)
  16. 【转载】快逸报表问题
  17. 邮箱服务器未运行,smtp服务器,smtp服务器未设置
  18. 财富智慧 幸福人生——《菁英财商训练营》首场活动在深圳龙岗文博宫举行
  19. asp企业建站系统 最新推出的 免费下载
  20. linux rm命令 安装,Linux rm 命令 command not found rm 命令详解 rm 命令未找到 rm 命令安装 - CommandNotFound ⚡️ 坑否...

热门文章

  1. 大学计算机应用教程2018答案,大学计算机基础教程
  2. moran指数 r语言_新版白话空间统计(19)空间关系对莫兰指数的影响
  3. 考研二战计算机应该换成学硕吗,2019考研:二战考研需要换学校吗?
  4. python自动录入系统_自动化批量录入Web系统
  5. 迁移学习系列--迁移学习理论
  6. 【Python训练营】Python每日一练----第1天:购物单
  7. ChatGPT(GPT3.5) OpenAI官方API正式发布
  8. 学生信息管理系统(练习版)
  9. 2020烽火通信笔试面试经验
  10. Unity 编辑器开发实战【Editor Window】- BlendShape调试工具