首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

python单细胞学习笔记-day3

) 7.2 列表取子集 1、根据索引取子集 索引就是index,即下标,python的索引从0开始 使用方括号 [ ] 从列表中提取子集 使用 负索引 可以从列表的尾部访问,-1 表示最后一个元素 fruits...: 第一个值空着,表示从0位开始 第二个值空着,表示到最后一位结束 前两个值空着,写第三个值,表示所有元素每隔指定步长去一个数 8.诡异的赋值修改 如果y=x,对 y 进行了修改,这个修改居然会同步给x...在 python 中,变量赋值是通过引用进行的,而不是创建独立的副本。这种机制对于可变对象(如列表,字典,数据框等)非常重要,因为修改其中一个引用会影响其他引用。....keys()方法提取键,.values()方法提取值,.items()方法提取所有键值对元素,并一一封装在元组中 (元组tuple)是带上枷锁的列表,也允许不同的数据类型,区别在于用小括号而非中括号...练习 4.2: 提取值 从字典中提取 title 和 year,并打印它们。 练习 4.3: 键与值 使用 .keys() 和 .values() 方法分别打印字典的所有键和所有值。

4400
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    《流畅的Python》学习笔记之字典

    字典推导 自 Python2.7 以来,列表推导和生成器表达式的概念就移植到了字典上,从而有了字典推导。字典推导(dictcomp)可以从任何以键值对作为元素的可迭代对象中构建出字典。...my_dict.keys() 在 Python3 中返回值是一个 "视图","视图"就像是一个集合,而且和字典一样速度很快。但在 Python2中,my_dict.keys() 返回的是一个列表。...取值流程图如下: 添加新值和上述的流程基本一致,只不过对于前者,在发现空表元的时候会放入一个新元素,而对于后者,在找到相应表元后,原表里的值对象会被替换成新值。...5、往字典里添加新键可能会改变已有键的顺序 无论何时向字典中添加新的键,Python 解释器都可能做出为字典扩容的决定。...扩容导致的结果就是要新建一个更大的散列表,并把原有的键添加到新的散列表中,这个过程中可能会发生新的散列冲突,导致新散列表中次序发生变化。因此,不要对字典同时进行迭代和修改。

    2K100

    Python从入门到熟练(5): 数据类型进阶

    列表的索引从位置0开始 索引就是元素在列表中的位置编号,索引又可以被称为下标 注意:从列表中取值时,如果超过索引范围,程序会报错 虽然列表可以存储不同类型元素,但是曰常中一般存储相同类型的元素 如何使用列表...列表[索引]: 从列表中取值,获取指定索引的元素 列表[开始索引:结束索引:步长]: 返回从开始索引到结束索引-1的列表,如果设置步长,按步长跳过元素 len(列表): 获取列表的长度 元素 in 列表...add(元素):将元素添加到集合中 s.add(5) # ---> {1, 2, 3, 5} 集合1.update(集合2): 添加新的元素或集合到当前集合中 s.add{4, 5, 6} # ---...字 典在Python中通常用于存储描述一个物体的相关信息 字典与列表类似的用法 d = {a: [1, 2], b: [3, 4]} 字典[键]: 通过键获取值, 键不存在时会报错 d[a] # --...2], b: [3, 4]} 字典.get(键,默认值):通过键获取值,键不存在时返回默认值 d.get(a, 5) # ---> [1, 2] 字典[键]=值:键不存在,新増键值对。

    95420

    Python指南:组合数据类型

    所有的内置固定数据类型(比如float、frozenset、int、str、tuple)都是可哈希运算的,可以添加到集合中。...,返回该参数的浅拷贝 键值对组合的参数,创建非空字典 字典的键值是独一无二的,因此,如果向字典中添加一个已存在的键值项,实际效果是新值替换旧值。...,如果k没有包含在d中就插入一个键为k的新项,其值为None或v d.update(a) 将a中每一个尚未包含在d中的(key, value)对添加到d中,对同时包含在d与a中的每个键,使用a中对应的值替换...,迭代子取值范围从start到stop-1,每两个值之间间隔step reversed(i) 返回一个迭代子,该迭代子以反序从迭代子i中的返回项 sorted(i, key, reverse) 以排序后顺序从迭代子...对列表和元组等情况,数据项的返回值通常从第一个数据项开始依次返回,而对于字典与集合,迭代子是任意顺序的返回项。

    2.7K10

    Python基础语法

    ,每次只能添加一个元素 2.list.extend():将两个列表合并成一个列表,添加到list中; 3.list.insert(i,value):在列表指定位置插入一个元素; 4.list.pop(i...list.clear()删除所有的元素del list[0]从内存当中直接清除改list[i] = 'value'赋新值list.index('value')) 5.3 列表的取值 1.根据索引:list...: 有两个列表a和b a=[1,2,3,"hello"] b=[4,5,6,"world"] ''' #取a列表的第一个值 print(a[0]) #取a列表第二个和第三个值 print(a[1:3...]) #取a列表第三个值以及到末尾的所有值 print(a[2:]) ''' 练习二: ''' L=[['windows','linux','unix'], ['java','python',...字典的方法 1.新增元素:dict[new_key}=new_value 2.删除元素:dict.pop(key_value) 3.修改元素:dict[old_key]=new_value 6.3 字典的取值

    94210

    python 的几种数据类型

    通过指定两个索引值,可以从列表中获取称作“ 切片” 的某个 部分。返回值是一个新列表,它包含列表(??...extend() 方法只接受 一个列表作为参数,并将该参数的每个元素都添加到原有的列 表中。 5. insert() 方法将单个元素插入到列表中。...extend() 方法只接受一个参数,而该参数总是一个列表,并 将列表 a_list 中所有的元素都添加到该列表中。 2....Python 的字典为 通过键获取值进行了优化,而不是反过来。 ☞Python 中的字典与 Perl 5 中的 hash [ 散列] 类似。...由于 SUFFIXES[1000] 是列表,可以通过它们的 0 基点索引来 获取列表中的单个元素。 布尔上下文环境中的字典 空字典为假值;所有其它字典为真值。

    1.6K20

    python(三)

    1.元组遍历的操作   在python所有的不可变类型里面,有一个比较重要的就是元组(tuple),如果某个值被定义为元组,那就意味着他的值不能修改,除非重新定义一个新的对象。...>>>(1,2,3)    (1,2,3)    如果新建的时候忘记加(),但是如果用逗号进行分离,python也会将他看作元组,   >>>1,2,3 (1,2,3)      如果你新建的元组中只有一个值...都看成一个新的元素添加到元祖里面。       @如何读取元组中的数值。        ...>>>变量名[键名]       值      @ 字典添加方法:      字典的添加方法和列表有所不同:        字典变量名[新添加的键名] = 新键对应的值      @ 字典的值修改的方法...      字典修改的格式:字典变量名[要修改值对应的键名] = 新值   字典添加和修改的方式其实是相同的,新建对应的键名如果存在,就是修改操作,如果不存在就相当于添加操作。

    47800

    python学习

    ','d'],6]] users=[3][2] #取2 users=[4][1][0] # 取'alex' .extend()习题:将字符出s='abc'添加到列表users中,不使用循环,()可以放元组...字典 帮助用户表示一个事物的信息(事物有多个属性) data = {键:值,键:值,键:值} 获取值 info = {"name":'郭希文','age':21,'gender':'男'} #键值对...k111'是键,当能取到值时取值,当取不到时返回666,如果没设置默认返回None .values()取值 输出所有的键/值 info = {"name":'郭希文','age':21,'gender'...,字典,集合不能放在集合中,不能作为字典的 键 深浅拷贝 浅拷贝:拷贝第一次 深拷贝:拷贝所有数据(可变),有时候由于小数据池使得不可变数据地址一样 import copy 文件操作 file_object...data) code = ger_random_code() print(code) 高级内置函数 map()循环每个元素(第二个参数),然后让每个元素执行函数(第一个参数),将每个函数执行的结果保存到新的列表中

    85410

    python3之dict字典

    字典的方法: 1. d.clear        ##删除字典dict中的所有元素,返回none In [198]: d =  {'a': 1, 'b': 2} In [199]: d.clear(...) In [200]: d Out[200]: {} 2. d.fromkeys   ## fromkeys()方法从序列键和值设置为value来创建一个新的字典。...a', 1)]) 4. d.pop ##d.pop( x ) 返回给定键 x 对应的值,并将该键值对从字典中删除 列: In [193]: d Out[193]: {'a': 1, 'b': 2} In...不存在,则返回y, 并将 x : y 作为键值对添加到字典中,y 的默认值为 None 例: >>> d = {'z': 5, 'x': 1.5, 'y': 3} >>> d.setdefault('...() ('z', 5) >>> d.popitem() ('x', 1.5) 11. d.update ##d.update( x ) 将字典 x 所有键值对添加到字典 d 中(不重复,重复的键值对用字典

    60720

    使用Python按另一个列表对子列表进行分组

    在 Python 中,我们可以使用各种方法按另一个列表对子列表进行分组,例如使用字典和使用 itertools.groupby() 函数,使用嵌套列表推导。...方法1:使用字典 字典可以以非常简单的方式用于按 Python 中的另一个列表对子列表进行分组。让我们借助示例了解字典在另一个列表上按另一个列表分组子列表的用法。...如果是这样,我们将当前子列表附加到该键的现有子列表列表中。否则,我们将在组字典中创建一个新的键值对,并将键和当前子列表作为值。...语法 list_name.append(element) 在这里,append() 函数是一个列表方法,用于将元素添加到list_name的末尾。它通过将指定的元素添加为新项来修改原始列表。...groupby() 函数采用两个参数:可迭代函数(在本例中为子列表)和键函数(从每个子列表中提取键的 lambda 函数)。它返回键对和包含分组子列表的迭代器。

    45120

    python数据类型,格式话输出

    (dict) 1 """ 2 字典【无序可变】 3   作用:存多个值,key-value存取,取值速度快 4   定义: 5     key必须唯一,必须是不可变类型,value可以是任意类型...#3请循环遍历初所有的KEY和VALUE 18 19 for k in dic: 20 21 print(k,dic[k]) 22 23 #4请在字典中添加一个键值对,'k4':'v4...'k1'这个键,那就创建'k1'键和其对应的值(该键对应的值设置为空列表) 128 129 #并将列表li 中的 索引为奇数的对应元素,添加到'k1'这个键对应的空列表中。...如果该字典有'k1'这个键,且'k1'对应的value 130 131 #是列表类型,那就将li中的索引为奇数的对应元素,添加到'k1'这个键对应的键中 132 133 dic = {'k2':2,...b) 39 # 返回一个新的集合包含 a和b中不重复的元素 数据类型总结 【有序】: 列表,元组 【无序】: 字典,集合 【可变】:列表,字典,集合 【不可变】:数字,字符串,元组 【存单值】:数字,

    1.2K20

    计算机二级Python考点解析11

    ,取到第二个元素 >>>[1, 2, 3] print(num2[::2]) #表示取所有的值,步长为2 >>>[1, 3, 5] print(num2[::-1])#切片步长为负数,从后面往前面取值,...Python包含以下方法: 序号 方法 1 list.append(obj)在列表末尾添加新的对象 2 list.count(obj)统计某个元素在列表中出现的次数 3 list.extend(seq)...在列表末尾一次性追加另一个序列中的多个值(用新列表扩展原来的列表) 4 list.index(obj)从列表中找出某个值第一个匹配项的索引位置 5 list.insert(index, obj)将对象插入列表...,以序列seq中元素做字典的键,val为字典所有键对应的初始值 4 radiansdict.get(key, default=None)返回指定键的值,如果值不在字典中返回default值 5 key...,可以使用 list() 来转换为列表 8 radiansdict.setdefault(key, default=None)和get()类似, 但如果键不存在于字典中,将会添加键并将值设为default

    1.1K10

    Python 自动化指南(繁琐工作自动化)第二版:十六、使用 CSV 文件和 JSON 数据

    访问reader对象中的值的最直接的方法是通过将它传递给list()➍ 来将其转换成普通的 Python 列表。...现在您已经将 CSV 文件作为一个列表列表,您可以使用表达式exampleData[row][col]访问特定行和列的值,其中row是exampleData中一个列表的索引,col是您希望从该列表中获得的项目的索引...JSON 不能存储每一种 Python 值。它只能包含以下数据类型的值:字符串、整数、浮点、布尔、列表、字典和NoneType。...您使用w[0]、w[1]和w[2]分别检索今天、明天和后天天气的字典。每个字典都有一个'weather'键,其中包含一个列表值。您感兴趣的是第一个列表项,它是一个嵌套字典,在索引 0 处还有几个键。...使用第十二章的中的openpyxl模块,编写一个程序,读取当前工作目录中的所有 Excel 文件,并将其输出为 CSV 文件。

    11.6K40

    pyRedis - 操作指南:增删改查、管道与发布订阅功能

    ’) 将键为list的列表尾元素删除并将其添加到键为list2的列表头部,然后返回 b’2’ lpush 在name对应的list中添加元素,每个新的元素都添加到列表的最左边 # 在name对应的list...5,4,3,2 2.rpush 同lpush,但每个新的元素都添加到列表的最右边 #同lpush,但每个新的元素都添加到列表的最右边 rpush(name,values) lpushx 在name对应的...的集合中的一个元素 name:键名 redis.spop(‘tags’) 从键为tags的集合中随机删除并返回该元素 b’Tea’ smove(src, dst, value) 从src对应的集合中移除元素并将其添加到...dst对应的集合中 src:源集合;dst:目标集合;value:元素值 redis.smove(‘tags’, ‘tags2’, ‘Coffee’) 从键为tags的集合中删除元素Coffee并将其添加到键为.../usr/bin/env python # -*- coding:utf8 -*- ''' 发布与订阅是不同于存值取值,存值取值不需要同步,发布与订阅是需要同步的 ''' ''' #这样是可以的,为了配套

    1.3K20

    如何通过追踪代码自动发现网站之间的“关联”

    第67-69行:我们遍历提取代码的列表(67行),然后将其通过clean_tracking_code函数将其传递到清理和规范代码部分,接下来测试我们是否已经有了这个代码(72行),如果没有,就将其添加到连接字典中...第126-134行:如果我们从Spyonweb获取到了有效的结果,那么就会循环遍历域名,并将其添加到与当前跟踪代码相关联的域列表中,完成后,返回更新后的字典。...第142-143行:我们设置一个空列表来跟踪我们检查的域名(142行),并将所有跟踪代码加载到列表中(143行)。...第172-178行:我们循环与Adsense代码相关联的域名(172行),如果还没有跟踪域名(174行),那么将其添加到我们的连接字典中,将其与当前跟踪代码相关联。...第205行:我们定义了graph_connections函数,它接收连接字典,起始域名列表和要输出图形的文件名。 第207行:我们初始化一个新的networkx Graph对象。

    1.6K80

    嘀~正则表达式快速上手指南(下篇)

    最终,将字符串分配给 sender_name并添加到字典中。 让我们检查下结果。 ? 非常棒!我们已经分离了邮箱地址和发件人姓名, 还将它们都添加到了字典中,接下来很快就能用上。...接下来,我们做和之前相同的 None 值检查。 ? 如果 date 不为 None ,我们就把它从这个匹配对象转换成一个字符串,然后赋值给变量 date_sent,再将其键值添加到字典中。...获取邮件的内容 最后要添加到字典里的一项就是邮件的内容了。 ? 将标题从邮件内容中分离出来是非常复杂的任务,尤其当文中有很多不同形式的标题。...我们已经拥有了一个精致的Pandas数据帧,实际上它是一个简洁的表格,包含了从email中提取的所有信息。 请看下数据帧的前几行: ?...并将其打印出来,以便查看。 ? 第3步,从这一系列对象中提取email地址,并罗列出来,现在你会发现他的类型是now类。 ? 第4步将展示提取到的email正文 ?

    4K10

    SqlAlchemy 2.0 中文文档(十四)

    返回一个KeyFuncDict工厂,它将根据 ORM 映射实例上的特定命名属性的值生成新的字典键,以添加到字典中。 注意 目标属性的值必须在将对象添加到字典集合时被赋予其值。...返回一个KeyFuncDict工厂,它将根据 ORM 映射实例上的特定Column映射属性的值生成新的字典键,以添加到字典中。 注意 目标属性的值必须在将对象添加到字典集合时分配其值。...返回一个KeyFuncDict工厂,该工厂将根据 ORM 映射实例上特定命名属性的值生成新的字典键,以添加到字典中。 注意 目标属性的值必须在将对象添加到字典集合时分配其值。...返回一个 KeyFuncDict 工厂,它将根据 ORM 映射实例上的特定 Column 映射的属性的值产生新的字典键,并将其添加到字典中。 注意 目标属性的值必须在将对象添加到字典集合时被赋值。...返回一个KeyFuncDict工厂,它将根据 ORM 映射实例上的特定Column属性的值生成新的字典键,以添加到字典中。 注意 目标属性的值必须在将对象添加到字典集合时分配其值。

    23210
    领券