【原创】从 列表的重复 到 用sum展开二层嵌套列表将子元素合并
a = [1,2]
b = a * 3
a
Out[1]: [1, 2]
b
Out[2]: [1, 2, 1, 2, 1, 2]
id(a)
Out[3]: 303757832
id(b)
Out[4]: 303741000
# 实际在计算:[] + [1,2] + [3,4]
sum([[1,2], [3,4]], [])
Out[13]: [1, 2, 3, 4] # 实际在计算:[5] + [1,2] + [3,4]
sum([[1,2], [3,4]], [5])
Out[14]: [5, 1, 2, 3, 4] # 实际在计算:[5,6] + [1,2] + [3,4]
sum([[1,2], [3,4]], [5,6])
Out[15]: [5, 6, 1, 2, 3, 4] # 实际在计算:[[5]] + [1,2] + [3,4]
sum([[1,2], [3,4]], [[5]])
Out[16]: [[5], 1, 2, 3, 4] # 实际在计算:[[5,6]] + [1,2] + [3,4]
sum([[1,2], [3,4]], [[5,6]])
Out[17]: [[5, 6], 1, 2, 3, 4]
sum([[c[i]]*d[i] for i in range(len(c))], [])
Out[31]: [1, 1, 1, 1, 2, 3, 3, 3, 4, 4] # 更简单的(利用zip进行对应位置的元素匹配,免去了使用索引)
sum([[x] * y for x,y in zip(c, d)], [])
Out[43]: [1, 1, 1, 1, 2, 3, 3, 3, 4, 4]
# 实际在计算:[0] + [[1,2], [3,4]] + [5,6]
sum([[[1,2],[3,4]],[5,6]], [0])
Out[34]: [0, [1, 2], [3, 4], 5, 6]
【原创】从 列表的重复 到 用sum展开二层嵌套列表将子元素合并的更多相关文章
- 【原创】展开二层嵌套列表(或pd.Series)的几种方法效率对比
转载请注明出处:https://www.cnblogs.com/oceanicstar/p/10248763.html ★二层嵌套列表(或以列表为元素的pd.Series)有以下几种展开方式 (1)列 ...
- python 用嵌套列表做矩阵加法
写一个函数,接收两个由嵌套列表模拟成的矩阵,返回一个嵌套列表作为计算结果,要求运行效果如下: >>> matrix1 = [[1, 1], [-3, 4]] >>> ...
- python_嵌套列表变成普通列表
如何把[1, 5, 6, [2, 7, [3, [4, 5, 6]]]]变成[1, 5, 6, 2, 7, 3, 4, 5, 6]? 思考: -- for循环每次都遍历列表一层 -- 把取出的单个值加 ...
- Python列表去除重复元素
主要尝试了3种列表去除重复元素 #2.去除列表中的重复元素 #set方法 def removeDuplicates_set(nums): l2 = list(set(l1)) #用l1的顺序排序l2 ...
- python列表删除重复元素的三种方法
给定一个列表,要求删除列表中重复元素. listA = ['python','语','言','是','一','门','动','态','语','言'] 方法1,对列表调用排序,从末尾依次比较相邻两个元素 ...
- [leetcode]339. Nested List Weight Sum嵌套列表加权和
Given a nested list of integers, return the sum of all integers in the list weighted by their depth. ...
- [leetcode]364. Nested List Weight Sum II嵌套列表加权和II
Given a nested list of integers, return the sum of all integers in the list weighted by their depth. ...
- 集合求交集 & 去除列表中重复的元素
集合求交集: set1 = {1,2,3,4,5} set2 = {4,5,6,7,8} 交集:set3 = set1 & set2 print(ste3) #结果为{4,5} 或者ste1. ...
- Python 去除列表中重复的元素
Python 去除列表中重复的元素 来自比较容易记忆的是用内置的set l1 = ['b','c','d','b','c','a','a'] l2 = list(set(l1)) print l2 还 ...
随机推荐
- Scrapy框架之基于RedisSpider实现的分布式爬虫
需求:爬取的是基于文字的网易新闻数据(国内.国际.军事.航空). 基于Scrapy框架代码实现数据爬取后,再将当前项目修改为基于RedisSpider的分布式爬虫形式. 一.基于Scrapy框架数据爬 ...
- vuex深入浅出
本文主要记录使用vuex的使用场景.重要组成部分和学习心得. 1.说在前面 学习vue有两周的时间了,目前已经对vue的基础使用比较熟悉了.但是一直对vuex的使用耿耿于怀,这么说是因为总是不太理解, ...
- Java NIO(三) Buffer
Java NIO中的Buffer用于和NIO通道进行交互.如你所知,数据是从通道读入缓冲区,从缓冲区写入到通道中的. 缓冲区本质上是一块可以写入数据,然后可以从中读取数据的内存.这块内存被包装成NIO ...
- 夜色的 cocos2d-x 开发笔记 01
现在我们来实现在屏幕上出现一只飞机的效果. 首先我们要建立一个场景,显示在屏幕上,创建一个类,RunScence,现在你的项目目录应该是这个样子的. 之前没学过C++,.h文件我理解就是一个声明文件, ...
- Smokeping外置邮箱告警
wget http://xrl.us/cpanm -O /usr/bin/cpanm 1.安装Authen::SASL模块 cpanm --mirror http://mirrors.163.com/ ...
- ORACLE不使用工具的情况下获取对象DDL
set line 200set pagesize 0set long 99999set feedback offset echo off获得表.索引.视图.存储过程.函数的DDL:select dbm ...
- ul自适应li问题
内容提要: li浮动时ul高度为0,解决ul自适应高度的几种方法 在网页设计中,常常需要对li标签做浮动效果,但是在不同浏览器中会遇到兼容性问题,比如IE中会出现ul高度为0的情况,是效果不能达到预期 ...
- pl/sql 存储过程执行execute immediate 卡住
在存储过程中,执行了create table.update table.insert into table 但是在使用pl/sql的存储过程调试的时候,一有问题就直接卡住(标识:执行中.....) 后 ...
- 查看flash的版本
查看当前浏览器的flash版本: http://www.adobe.com/swf/software/flash/about/flashAbout_info_small.swf 针对谷歌浏览器 chr ...
- maven项目 servlet jar包冲突
Failed to process JAR found at URL for ServletContainerInitializers for context with name [{1}] 启动报 ...