精华内容
下载资源
问答
  • python创建列表两种方法
    千次阅读
    2021-03-05 23:01:04

    如果要在 Python 中创建键值是空列表的字典,有多种方法,但是各种方法之间是否由区别?需要作实验验证,并且分析产生的原因。本文针对两种方法做了实验和分析。

    如果要在 Python 中创建一个键值都是列表的字典,类似下面这样,该怎么做?

    {1:[], 2:[], 3:[], 4:[]}

    方法1,字典构造器

    用 dict 构造器生成,构造(key,value)对

    > key = [1, 2, 3, 4]

    > a = dict([(k,[]) for k in key])

    > a

    {1: [], 2: [], 3: [], 4: []}

    方法2,使用 fromkeys()

    用字典的方法fromkeys(key list, default value)

    > key = [1, 2, 3, 4]

    > b = {}.fromkeys(key,[])

    > b

    {1: [], 2: [], 3: [], 4: []}

    结果对比

    这两种方法生成的字典有没有区别?检验一下:

    > a[1].append(1)

    > a

    {1: [1], 2: [], 3: [], 4: []} # 仅影响对应的键值列表

    >

    > b[1].append(1)

    > b

    {1: [1], 2: [1], 3: [1], 4: [1]} # 所有键值列表都受影响

    上面的结果中,发现使用 fromkeys() 方法生成的空列表,都增加了一个元素。似乎他们是同一个对象。

    原因分析

    从上面看出,用fromkeys( )方法生成的字典里的空列表其实是同一个对象。为什么会这样?因为传给fromkeys( )函数的参数”[]“是同一个对象,fromkeys( )把这一个对象的浅拷贝放在字典里了。

    yxif440lvrb.jpg

    如果这个对象是 mutable 的,就会在后续的操作中出问题。如果创建字典的对象是mutable的,应该避免使用fromkeys( )

    更多关于Python创建空列表的字典方法请查看下面的相关链接

    更多相关内容
  • python创建类的两种方法

    千次阅读 2018-08-22 19:33:21
    #第一种方法创建类 class A(object): def __init__(self, name): self.name = name f = A("lkk") 这样就简单完成了一个A类的创建,我们尝试打印一下f的类型: print(type(f)) #打印f的...

    python里,类是面向对象的基础。

    创建类第一种普遍方式可能都清楚,用class关键字:

    #第一种方法创建类
    class A(object):
    
        def __init__(self, name):
            self.name = name
    
    f = A("lkk")

    这样就简单完成了一个A类的创建,我们尝试打印一下f的类型:

    print(type(f))  #打印f的类型,结果是A(我们写的class A)

    结果为

    我们不妨在打印一下A的类型:

    print(type(A))    #不妨再打印一下A的类型,居然是type

    会发现结果是:

    总结一下:type就是类的类

    类的类,也就是元类。元类就是用来创建类的“东西”。你创建类就是为了创建类的实例对象,不是吗?Python中的类也是对象。元类就是用来创建这些类(对象)的,元类就是类的类。

    于是第二种创建类的方法:type动态创建类

    type有一个方法:type(类名,父类名,方法名(字典形式))用来动态创建类

    三个参数具体内容:

    • 第一个参数:要创建的class的名称
    • 第二个参数:继承的父类集合,Python支持多重继承,如果只有一个父类,写(obj,)
    • 第三个参数:class的方法名字典,字典内容为‘类里面方法名称’:‘写好的函数名称’,创建之后使用类方法名称调用

    举个例子:

    #第二种方法创建类
    
    def func(self):    #第一个方法
        print('hello %s'%self.name)
    
    def __init__(self,name,age):    #初始化方法
        self.name = name
        self.age = age
    
    #type('叫什么的类','继承谁','它里面有哪些方法')
    
    Foo = type('Foo', (object,), {'talk':func,
                                  '__init__':__init__})
    
    
    f = Foo('lkh','20')
    f.talk()
    print(type(Foo))

    等同于:

    class Foo(object):
        def __init__(self, name, age):
            self.name = name
            self.age = age
    
        def func(self):
            print('hello %s' % self.name)

     

    展开全文
  • python创建与遍历List二维列表方法

    千次阅读 2021-01-29 12:40:03
    python 创建List二维列表lists = [[] for i in range(3)] # 创建的是多行三列的二维列表for i in range(3):lists[0].append(i)for i in range(5):lists[1].append(i)for i in range(7):lists[2].append(i)print(...

    3a2c5c47719654b2eb3ed26ac95e70d8.png

    python 创建List二维列表

    lists = [[] for i in range(3)] # 创建的是多行三列的二维列表

    for i in range(3):

    lists[0].append(i)

    for i in range(5):

    lists[1].append(i)

    for i in range(7):

    lists[2].append(i)

    print("lists is:", lists)

    # lists is: [[0, 1, 2], [0, 1, 2, 3, 4], [0, 1, 2, 3, 4, 5, 6]]

    使用二维列表索引遍历二维列表

    •注意python中二维列表和matlab以及C和JAVA中一样,不需要每行中列的数量相等

    sum_0 = 0

    for i in range(len(lists)):

    for j in range(len(lists[i])):

    print(lists[i][j])

    sum_0 += lists[i][j]

    print("The sum_0 of Lists:", sum_0)

    # 0

    # 1

    # 2

    # 0

    # 1

    # 2

    # 3

    # 4

    # 0

    # 1

    # 2

    # 3

    # 4

    # 5

    # 6

    # The sum of Lists: 34

    使用二维列表句柄遍历二维列表

    sum_1 = 0

    for i in lists:

    for j in i:

    sum_1 += j

    print("The sum_1 of Lists:", sum_1)

    # The sum_1 of Lists: 34

    总结

    以上所述是小编给大家介绍的python创建与遍历List二维列表的方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!

    如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

    展开全文
  • 打开Spyder可视化工具,新建一个空白文件,做好备注为“列表的四种创建方法”,保存到本地成一个py文件。文件保存操作示意图基本语法[]创建学过编程的人都知道,创建一个变量时,变量声明与变量赋值既可分开,也可...

    我的电脑安装的是Anaconda 3开源的Python发行版本,其中是集合3.6版本的Python与可视化编程工具采用的是Spyder。

    打开Spyder可视化工具,新建一个空白文件,做好备注为“列表的四种创建方法”,保存到本地成一个py文件。

    73645f175725

    文件保存操作示意图

    基本语法[]创建

    学过编程的人都知道,创建一个变量时,变量声明与变量赋值既可分开,也可合并在一个步骤。

    同理,采用基本语法[]创建一个列表时,也是可以采用两种方式:

    创建空白列表

    73645f175725

    赋值创建列表

    73645f175725

    list[]创建

    是用list()可以将任何可迭代的数据转化为一个列表。当然list()也是支撑创建空列表对象与赋值列表对象。

    空列表对象

    73645f175725

    字符转化为列表,并实现赋值

    73645f175725注意:list()只能接收一个参数。

    list(range())创建整数列表

    此类创建列表的方法有局限,即只能生成包含整数的列表。range()的语法格式为:

    range([start,]end[,step])

    start参数:可选,表示起始的数字,默认为0。

    end参数:必选,表示结尾的数字。

    step参数:可选,表示步长,默认为1。

    三个参数都指定值

    73645f175725

    只指定end参数

    73645f175725

    step指定负数

    73645f175725注意:此时的start参数值一定大于end参数值,且都不能空缺。

    推导式创建列表

    此处采用for循环来做示例(如果有持续更新,到时候用单独一篇文章来深入讲解)。

    循环创建包含多个元素的列表

    73645f175725

    按条件筛选部分元素

    73645f175725

    源代码:

    # -*- coding: utf-8 -*-

    """

    Created on Tue Oct 22 12:53:18 2019

    @author: THINK

    列表的四种创建方法

    """

    # 1、基本语法[]创建

    a = [] # 创建一个空白列表对象

    b = [35,34,'abc','职言职语'] # 创建一个已经赋值的列表对象

    # 2、list[]创建

    l1 = list() # 创建一个空列表对象

    l2 = list('3a职言职语') # 字符转化为列表,并实现赋值

    # 3、list(range())创建整数列表

    r1 = list(range(5,10,2)) # 三个参数都指定值

    r2 = list(range(10)) # 只指定end参数

    r3 = list(range(10,0,-1)) # step指定负数

    # 4、推导式创建列表

    f1 = [x*2 for x in range(10)] # 循环创建包含多个元素的列表

    f2 = [x*2 for x in range(100) if x%8==0] # 按条件筛选部分元素

    感言:编程语言的学习就一个不断练习的过程。在不停地敲代码过程中理解精义,在理解的过程中又用敲代码的方式来解决并验证自己的疑问点,逐渐巩固自己对Python这门语言的理解,直至掌握,无捷径可走。

    展开全文
  • python 创建excel 并保存(两种方法

    千次阅读 2021-08-25 19:46:25
    python中的包xlwt和xlsxwriter都是比较方便创建excel文件并写入数据的。 xlwt中: 通过xlwt.Workbook()来新建工作簿; 通过.add_sheet('sheet名)来新建sheet; 通过.write(行号, 列号, 值)来一个单元格一个单元格地...
  • python创建二维列表两种方法

    万次阅读 多人点赞 2018-08-28 19:17:36
    python创建二维列表可以通过循环的方式来创建,代码如下: 如此,就创建好了一个缺省值为0的10*10的二维列表,实现相同列表方法还有b=[[0]*10]*10,而且判断 a==b 时,返回值为 True。但是通过此种方法建立的...
  • Python创建n个列表列表的最快方法

    千次阅读 2020-11-30 05:38:30
    这里有两种方法,一种是简单的(和概念性的),另一种是更正式的,在读取数据集之后,可以在各种情况下进行扩展。方法1:概念X2=[]X1=[1,2,3]X2.append(X1)X3=[4,5,6]X2.append(X3)X2 thus has [[1,2,3],[4,5,6]] ie...
  • python如何创建二维列表

    千次阅读 2020-12-04 20:34:34
    python创建二维列表方法python创建二维列表两种方法方法一:使用numpy-zeros((10,10)),生成给定长度的二维列表方法二:使用for 循环,规避浅拷贝python创建二维列表可以通过循环的方式来创建,代码如下:...
  • python创建二维数组的两种常用方法

    千次阅读 2020-06-08 17:49:38
    1.使用list方法 arr = [[0 for i in range(n)] for j in range(m)] 2.使用Numpy模块 arr = numpy.zeros((m, n)) 误区: arr = [[0]*n]*m 使用该方法生成的二维数组无法对数组值进行单个修改。 ...
  • Python两种简单创建全零列表(数组)的方式(不需numpy) 暴力重复print([0]*8) 列表推导式 print([0 for i in range(10)]) 结果: [0, 0, 0, 0, 0, 0, 0, 0] [0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
  • python创建固定长度的空列表

    千次阅读 2021-08-06 12:50:05
    python创建固定长度的空列表两种方法 方法一 a = 10 x = [’’ for i in range(a)] print(x) #[’’, ‘’, ‘’, ‘’, ‘’, ‘’, ‘’, ‘’, ‘’, ‘’] 方法二 a = 10 x = [None]*a print(x) #[None, ...
  • Linux服务器端创建anaconda下的虚拟python环境 在服务器端搭建的python环境,我们一般希望能够针对单个项目使用独立的环境,以便于解决不同包存在依赖冲突的问题。本文就如何创建anaconda环境下的虚拟python环境进行...
  • Python创建集合与常见方法【详细】

    千次阅读 2021-12-02 18:35:31
    python中集合相关的知识与方法看这一篇就够啦
  • Python创建二维列表方法及其区别

    千次阅读 2019-03-23 15:14:49
    今天写代码发现我的代码跑例程老是报错,但又看不出算法错误,对比其他人的算法实现发现我们创建二维数组的方法不一样,于是对比了一下两种方法的区别。
  • python创建字典,方法+案例说明

    千次阅读 2021-12-11 13:07:44
    python种创建和删除字典的方法
  • Python创建一个元素都为0的列表实例

    千次阅读 2020-11-25 20:48:37
    Python创建一个元素都为0的列表实例实现创建一个元素都为0的列表:l=10lis=[0]*llis输出结果:[0, 0, 0, 0, 0, 0, 0, 0, 0, 0]以上这篇Python创建一个元素都为0的列表实例就是小编分享给大家的全部内容了,希望能给...
  • python列表逆序三种方法

    千次阅读 2021-03-18 11:42:26
    python更新数据库脚本三种方法 最近项目的次版本迭代中,根据业务需求的变化,需要对数据库进行更新,次分别使用了不同的方式进行更新. 第一:使用python的MySQLdb模块利用原生的sql语句进行更新 import MySQ ......
  • python打包的两种方法

    千次阅读 2021-04-10 14:08:10
    python的.py文件打包为一个可执行文件常常使用pyinstaller库进行操作,本文将介绍使用pyinstaller给.py程序打包的两种方法 正题 1.首先,在命令窗口安装pyinstaller包 ps:我这里已经安装过了,所以显示already ...
  • python创建二维数组方法

    千次阅读 2021-05-27 20:21:46
    #Python# 二维数组的定义、使用的几种方法 通常的困扰 1、先介绍最简单的一方式 2、再介绍最常见的一方式 3、最后介绍最暴力直观的一方式 通常的困扰 之前对Python里面创建、使用二维数组也很懵,于是也上网查...
  • 盘点Python列表生成式的三种方法

    千次阅读 2021-02-06 09:03:00
    点击上方“Go语言进阶学习”,进行关注回复“Go语言”即可获赠从入门到进阶共10本电子书今日鸡汤兴来每独往,胜事空自知。一、前言列表生成式即List Comprehensions,是Pyt...
  • python两种运行方式

    千次阅读 2021-04-27 09:48:15
    python两种运行方式,第一种是交互式,另一种是脚本式,这里可能郁闷了,啥叫脚本??脚本可能会想到不重要的,边角料啥的,我们可以认为是一个大型文件,最后有点不足,加进去的补丁,让程序更加完善吧,脚本...
  • python中我们创建线程的方式有两种:一种是编写一个继承自线程的类,重写run()方法;另一种是编写一个函数来运行子进程,通过目标参数指定需要运行的函数名。以下是两种方式的介绍及详细代码示例。 方式一:编写...
  • Python创建多线程的几种方法

    千次阅读 2019-06-01 16:40:48
    经过总结,Python创建多线程主要有如下两种方法: 函数 类 接下来,我们就来揭开多线程的神秘面纱。 学会使用函数创建多线程 在Python3中,Python提供了一个内置模块threading.Thread,可以很方便地让我们创建...
  • PYTHON-在循环中创建多个列表

    千次阅读 2021-01-14 17:11:56
    我已经介绍了“数学”部分,但是我需要Python列表和循环的帮助。我正在处理图表,让我举一个例子,让它更清楚:3 node graph如你所见,我有3个节点和2个边,没什么特别的。我需要计算每对节点之间最近的路由,我...
  • Python3 创建二维列表(list)

    千次阅读 2020-11-22 16:20:27
    创建一个m行,n列的二维列表:dp = [[0]*n for _ in range(m)]运行结果(n = 3, m = 4):[[0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0]]注1:单下划线 _ 的含义用作临时的变量名称 (此处的用法)Python REPL中的一个...
  • Python创建Dataframe的四种方法

    千次阅读 2021-02-02 22:31:41
    Pandas主要有两种数据结构,一个是Series,另一个是DataFrame,小编介绍过Pandas中创建Series的三种方法,那DataFrame又如何创建呢?本文介绍创建Dataframe的四种方法:1、通过字典创建DataFrame;2、通过列表创建...
  • Python两种方法列表的平均数、最小值、最大值

    万次阅读 多人点赞 2020-08-19 19:28:05
    两种方法列表平均值、最大值、最小值 首先我们创建一个列表用做示范 list1 = [1,2,3,4,5,6,7,8,9,10] 在这里我们需要用到numpy库 import numpy as np 方法一 mean1 = np.mean(list1) #平均值 max1 = np.max...
  • 使用python创建数组的方法

    万次阅读 2019-03-11 19:23:19
    本文介绍两种python创建数组的方法。第一种是通过字典直接创建,第二种是通过转换列表得到数组。 方法1.字典创建 (1)导入功能 (2)创立字典 (3)将字典带上索引转换为数组 代码示例如下: import ...
  • 3)要介绍了Python列表(List)的详解操作方法,包含'创建'、'访问'、'更新'、'删除'、'其它'操作等 一 创建列表 +++++++++'列表的来源'+++++++++ 1) 使用 [ ] '直接创建'列表 2)内置的函数 list()'创建'或'...
  • Python:正确生成列表方法

    千次阅读 2022-04-03 09:40:32
    在生成列表的时候,最好用 `[0 for _ in range(n)]` 的方式而不是 `[0] * n` 的方式生成。两种方式的不同之处,在这篇 Blog 中讨论了。

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 518,563
精华内容 207,425
关键字:

python创建列表两种方法