对Python 3.5拼接列表的新语法详解

yipeiwu_com5年前Python基础

在Python 3.5之前的版本,拼接列表可以有这两种方法:

1、列表相加

list1 = [1,2,3]
list2 = [4,5,6]
result = list1 + list2

结果为一个新的列表

2、在原来列表上扩展

list1 = [1,2,3]
list2 = [4,5,6]
list1.extend(list2)

list1扩展后,结果为[1,2,3,4,5,6]

3、新语法

如果列表是由range()生成:

list1 = [1,2,3]
list2 = range(4,6)
result = list1+list2

那么列表直接相加会报错:

TypeError: can only concatenate list (not 'range') to list

新语法为Python3.5+

list1 = [1,2,3]
list2 = range(4,6)
result = [*list1,*list2]

这种语法称为Additional Unpacking Generalizations,在列表前加上星号*,表示解包列表。

以上这篇对Python 3.5拼接列表的新语法详解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

Python跑循环时内存泄露的解决方法

Python跑循环时内存泄露的解决方法

Python跑循环时内存泄露 今天在用Tensorflow跑回归做测试时,仅仅需要循环四千多次 (补充说一句,我在个人PC上跑的)。运行以后,我就吃饭去了。等我回来后,Console窗口...

Python基于scapy实现修改IP发送请求的方法示例

本文实例讲述了Python基于scapy实现修改IP发送请求的方法。分享给大家供大家参考,具体如下: 今天同事想测试WAF的页面统计功能,所以需要模拟多个IP向多个域名发送请求,也就是需...

django rest framework 实现用户登录认证详解

django rest framework 实现用户登录认证详解

1、安装 pip install djangorestframework 2、创建项目及应用 创建项目 创建应用 目录结构如图 3、设置settings.py 设置数据库...

python线程中的同步问题及解决方法

多线程开发可能遇到的问题 假设两个线程t1和t2都要对num=0进行增1运算,t1和t2都各对num修改1000000次,num的最终的结果应该为2000000。但是由于是多线程访问,有...

PyQt5通信机制 信号与槽详解

PyQt5通信机制 信号与槽详解

 前言 信号和槽是PyQt编程对象之间进行通信的机制。每个继承自QWideget的控件都支持信号与槽机制。信号发射时(发送请求),连接的槽函数就会自动执行(针对请求进行处理)。...