Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >python:如何遍历字典列表?

python:如何遍历字典列表?

提问于 2018-01-29 20:49:45
回答 2关注 0查看 898

我有一个列表--myList--每个元素都是一个字典。我想重复这个列表,但我只对每一次字典中的一个属性“age”感兴趣。我也对计算迭代次数感兴趣。

我知道:

代码语言:txt
AI代码解释
复制
for i, entry in enumerate(myList):
    print i;
    print entry['age']; 

回答 2

Dust

发布于 2017-12-22 03:20:00

python中的私有变量或多或少是一种破解:解释器故意重命名变量。

代码语言:txt
AI代码解释
复制
class A:
代码语言:txt
AI代码解释
复制
    def __init__(self):
代码语言:txt
AI代码解释
复制
        self.__var = 123
代码语言:txt
AI代码解释
复制
    def printVar(self):
代码语言:txt
AI代码解释
复制
        print self.__va

现在,如果您尝试__var在类定义之外访问,它将失败:

代码语言:txt
AI代码解释
复制
 >>>x = A()
代码语言:txt
AI代码解释
复制
 >>>x.__var # this will return error: "A has no attribute __var"
代码语言:txt
复制
代码语言:txt
AI代码解释
复制
 >>>x.printVar() # this gives back 123

但是,你可以轻易摆脱这个:

代码语言:txt
AI代码解释
复制
 >>>x.__dict__ # this will show everything that is contained in object x
代码语言:txt
AI代码解释
复制
               # which in this case is something like {'_A__var' : 123}
代码语言:txt
复制
代码语言:txt
AI代码解释
复制
 >>>x._A__var = 456 # you now know the masked name of private variables
代码语言:txt
AI代码解释
复制
 >>>x.printVar() # this gives back 456

你可能知道在OOP中的方法是这样调用的:x.printVar() => A.printVar(x)如果A.printVar()可以访问某个字段x,这个字段也可以在外部 访问A.printVar()...毕竟函数是为了重用而创建的,没有特别的权力赋予里面的语句。

涉及编译器时,游戏是不同的(隐私是编译器级别的概念)。它使用访问控制修饰符知道类的定义,所以如果在编译时没有遵循这些规则,就会出错

真假二十一

发布于 2017-12-22 03:19:10

这是文化。在Python中,您不会写入其他类的实例或类变量。在Java中,如果你真的想要做什么,就不会有什么妨碍- 毕竟,你总是可以编辑类本身的源码来达到同样的效果。Python放弃了安全的伪装,并鼓励程序员负责。在实践中,这很好地工作。

如果您想由于某种原因来模拟私有变量,则可以始终使用PEP 8中的__前缀。Python把变量的名字弄乱了,所以在包含它们的类之外,它们不容易被看到,以便进行编码(尽管如果你足够坚决,你可以绕过它,就像你可以绕过Java的保护一样)。__foo

按照同样的惯例,即使你在技术上没有被阻止,_前缀意味着远离。你不玩弄另一个类的变量看起来像__foo或_bar。

和开发者交流更多问题细节吧,去 写回答
相关文章
python类的私有变量
1)_xx 以单下划线开头的表示的是protected类型的变量。即保护类型只能允许其本身与子类进行访问。若内部变量标示,如:当使用“from Mimport”时,不会将以一个下划线开头的对象引入。
py3study
2020/01/15
1.3K0
Python 私有函数和私有变量
私有函数和私有变量 什么是私有函数和私有变量 无法被实例化后的对象调用的类中的函数与变量 类的内部可以调用私有函数与变量 只希望类内部业务调用使用,不希望被使用者使用 私有函数与私有变量的定义方法 在一个变量或函数前添加__(2个下横线),变量或函数名后边无需添加 class Person(object): def __init__(self, name): self.name = name self.__age = 33 # 私有 def dump(self): print(
Zkeq
2022/05/18
9640
【PYTHON】论Python的类中的私有变量、共有变量、全局变量、局部变量
Python语言中,一切皆对象。对于Python语言中的变量,我想大家都不陌生,但是在Python中,变量也有很多种类。如私有变量、共有变量、全局变量、局部变量等。这里给大家介绍Python类(class)中的变量之间的区别。参考代码:
用户7886150
2020/11/26
4.4K0
Python中私有变量和私有方法芳
Python中要想定义的方法或者变量只能在类内部使用不被外部使用,可以在方法和变量前面加两个下划线,让其变为私有方法或私有变量。类外部可以通过 ”_类名__私有属性(方法)名“ 访问私有属性(方法)。
王大力测试进阶之路
2022/06/07
1.4K0
私有变量
构造函数的私有变量,属性和方法都是独立的。 1 window.onload = function() { 2 var person = new Person("Li"); 3 alert(person.getName()); // Li 4 person.setName("Joe"); 5 alert(person.getName()); // Joe 6 7 var person2 = new Person("Ji");
就只是小茗
2018/12/12
6170
Python - 面向对象(三)公共变量,受保护变量,私有变量
在Python的类里面,所有属性和方法默认都是公共的;但Python也可以设置受保护、私有类型的变量or方法
小菠萝测试笔记
2020/06/09
1.6K0
【Python】面向对象 - 封装 ② ( 访问私有成员 | 对象无法访问私有变量 / 方法 | 类内部访问私有成员 )
在 类外部 创建的 Student 实例对象 , 是无法访问 __address 私有成员的 ;
韩曙亮
2023/10/11
2960
【Python】面向对象 - 封装 ② ( 访问私有成员 | 对象无法访问私有变量 / 方法 | 类内部访问私有成员 )
Python 类的私有化
私有化 xx: 公有变量 _x: 单前置下划线,私有化属性或方法,from somemodule import *禁止导入,类对象和子类可以访问 __xx:双前置下划线,避免与子类中的属性命名冲突,无法在外部直接访问(名字重整所以访问不到) __xx__:双前后下划线,用户名字空间的魔法对象或属性。例如:init , __ 不要自己发明这样的名字 xx_:单后置下划线,用于避免与Python关键词的冲突 通过name mangling(名字重整(目的就是以防子类意外重写基类的方法或者属性)如:_
Devops海洋的渔夫
2019/05/31
1K0
Python类中的私有属性和私有方法
Python是面向对象的语言,在Python里一切皆对象,所以大部分情况下,我们都是通过类的方式来编程。
Python碎片公众号
2021/02/26
3K0
Python类中的私有属性和私有方法
Python类变量和实例变量区别
类变量:定义在类里面,通过类名或对象名引用,如果是通过对象名引用,会先找有没有这个同名的实例变量,如果没有,引用到的才是类变量,类变量的更新,只能通过类名,形如 类名.a = 55 ,不要指望通过实例引用类变量来更新类变量
王大力测试进阶之路
2019/10/25
1.5K0
Java中有哪些集合,集合中有哪些类?
Java中所有的类都位于java.util包下,主要由两个接口派生出来,分别是Collection和Map.Collection包含了List和Set两大分支。Map是一个映射接口。Set 、Map、List可以看做集合的三大类。 而遍历集合的工具有Iterator和Enumeration; Arrays和Collection是操作数组集合的两个工具类。
全栈程序员站长
2022/09/08
2.8K0
C++基类私有成员会被继承吗
在类的继承中,基类私有成员在派生类中是“不可见“的,这种”不可见“是指在派生类的成员函数中,或者通过派生类的对象(指针,引用)不能直接访问它们。但是,不能直接访问并不代表不能访问。在派生类还是能够通过调用基类的共有函数的方式来间接地访问基类的私有成员,包括私有成员变量和私有成员函数。考察如下程序。
恋喵大鲤鱼
2019/02/22
2.4K0
地图函数在 Python 中有什么用?
Python 的 map() 函数将一个函数应用于迭代器中作为输入提供的每个项目。列表、元组、集合、字典或字符串都可以用作迭代器,它们都返回可迭代的映射对象。Map() 是一个内置的 Python 函数。
很酷的站长
2023/02/20
7250
地图函数在 Python 中有什么用?
深入理解python类的实例变量和类变量
a = aa()     #将a投入aa这个类中,进行实例化# print a.add()   #这个结果显然易见# #下边两条指令各起何作用?结果是输出两个 20 么?还是两个13?还是? aa.w = 20   
py3study
2020/01/09
1.4K0
python类成员变量和实例成员变量
print 'need %f hour(s)'% (distance/self.speed)
用户7886150
2020/12/20
1.4K0
Python中有几种办法交换两个变量的值?
小猿会从最基础的面试题开始,每天一题。如果参考答案不够好,或者有错误的话,麻烦大家可以在留言区给出自己的意见和讨论,大家是要一起学习的 。
用户1564362
2019/10/10
1.2K0
Python中有几种办法交换两个变量的值?
小猿会从最基础的面试题开始,每天一题。如果参考答案不够好,或者有错误的话,麻烦大家可以在留言区给出自己的意见和讨论,大家是要一起学习的 。
程序员小猿
2021/01/19
8210
点击加载更多

相似问题

从子类访问父类的私有实例变量?

2407

私有网络是独立IP吗?

3509

我们可以在Java属性文件中有多行注释吗?

2332

Ruby中有“do ... while”循环吗?

2397

请问TSF私有化版本python应用程序(或python模型)部署有相关的文档吗?

1221
相关问答用户
腾讯云TDP | TDP会员擅长3个领域
到家集团 | 技术VP擅长5个领域
腾讯云TDP | KOL擅长5个领域
擅长3个领域
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文