首页
学习
活动
专区
圈层
工具
发布

让你的 Python 代码优雅又地道

pythonic的代码简练,明确,优雅,绝大部分时候执行效率高。阅读pythonic的代码能体会到“代码是写给人看的,只是顺便让机器能运行”畅快。...注意:在Python 3中,izip改名为zip,并替换了原来的zip成为内置函数。...译注:刚了解for-else语法时会困惑,什么情况下会执行到else里。有两种方法去理解else。传统的方法是把for看作if,当for后面的条件为False时执行else。...遍历一个字典的key和value # 并不快,每次必须要重新哈希并做一次查找 for k in d: print k, '--->', d[k] # 产生一个很大的列表 for k, v in d.items...d = {} for color in colors: d[color] = d.get(color, 0) + 1 # 稍微潮点的方法,但有些坑需要注意,适合熟练的老手。

1.3K100

如何写出优雅又地道的Python代码?

pythonic的代码简练,明确,优雅,绝大部分时候执行效率高。阅读pythonic的代码能体会到“代码是写给人看的,只是顺便让机器能运行”畅快。...注意:在Python 3中,izip改名为zip,并替换了原来的zip成为内置函数。...译注:刚了解for-else语法时会困惑,什么情况下会执行到else里。有两种方法去理解else。传统的方法是把for看作if,当for后面的条件为False时执行else。...遍历一个字典的key和value # 并不快,每次必须要重新哈希并做一次查找 for k in d: print k, '--->', d[k] # 产生一个很大的列表 for k, v in d.items...d = {} for color in colors: d[color] = d.get(color, 0) + 1 # 稍微潮点的方法,但有些坑需要注意,适合熟练的老手。

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

    让你的 Python 代码优雅又地道

    pythonic的代码简练,明确,优雅,绝大部分时候执行效率高。阅读pythonic的代码能体会到“代码是写给人看的,只是顺便让机器能运行”畅快。...注意:在Python 3中,izip改名为zip,并替换了原来的zip成为内置函数。...译注:刚了解for-else语法时会困惑,什么情况下会执行到else里。有两种方法去理解else。传统的方法是把for看作if,当for后面的条件为False时执行else。...遍历一个字典的key和value # 并不快,每次必须要重新哈希并做一次查找 for k in d:     print k, '--->', d[k] # 产生一个很大的列表 for k, v in ...d = {} for color in colors:     d[color] = d.get(color, 0) + 1 # 稍微潮点的方法,但有些坑需要注意,适合熟练的老手。

    1K20

    让你的 Python 代码优雅又地道

    pythonic的代码简练,明确,优雅,绝大部分时候执行效率高。阅读pythonic的代码能体会到“代码是写给人看的,只是顺便让机器能运行”畅快。...注意:在Python 3中,izip改名为zip,并替换了原来的zip成为内置函数。...译注:刚了解for-else语法时会困惑,什么情况下会执行到else里。有两种方法去理解else。传统的方法是把for看作if,当for后面的条件为False时执行else。...遍历一个字典的key和value # 并不快,每次必须要重新哈希并做一次查找 for k in d: print k, '--->', d[k] # 产生一个很大的列表 for k, v in d.items...d = {} for color in colors: d[color] = d.get(color, 0) + 1 # 稍微潮点的方法,但有些坑需要注意,适合熟练的老手。

    80500

    让你的 Python 代码优雅又地道

    pythonic的代码简练,明确,优雅,绝大部分时候执行效率高。阅读pythonic的代码能体会到“代码是写给人看的,只是顺便让机器能运行”畅快。...注意:在Python 3中,izip改名为zip,并替换了原来的zip成为内置函数。...译注:刚了解for-else语法时会困惑,什么情况下会执行到else里。有两种方法去理解else。传统的方法是把for看作if,当for后面的条件为False时执行else。...遍历一个字典的key和value # 并不快,每次必须要重新哈希并做一次查找forkind:printk,'--->',d[k]# 产生一个很大的列表fork,vind.items():printk,'...}forcolorincolors:d[color]=d.get(color,0)+1# 稍微潮点的方法,但有些坑需要注意,适合熟练的老手。

    2.3K50

    Pythonic 的写法让 Python 代码更加简洁

    社区里面把比较正宗的写法称为 “Pythonic ”,直接在解释器上执行 import this 就能看到 “Pythonic ”的心法,这里就结合我多年的经验总结一下常见的 “Pythonic” 招式...= 100 b = 200 Pythonic 的写法 a, b = 100, 200 ---- 真假条件 非 Pythonic 的写法 if condition == True: pass..., 'l', 'd'] print(''.join(chars)) ---- 字典索引 非 Pythonic 的写法 kv = { 'hello': 'world' } print(kv['...hello']) # 这个时候正常 print(kv['not-exits']) # 这个时候报错 当 key 不存在的情况下,我们去索引它会报异常,字典有一个 get(key, default...break 语句就执行这个流程") Pythonic 的写法 for i in range(5): if i == 10: break else: print("如果没有执行过

    81930

    Python 进阶指南(编程轻松进阶):六、编写 Python 风格的代码

    如果只需要条目而不需要索引,仍然可以用 Python 的方式直接遍历列表: >>> # Pythonic Example >>> animals = ['cat', 'dog', 'moose'] >>...在到达零除错误时,执行移动到except块,跳过close()调用并保持文件打开。这可能导致文件受损错误,以后排错很难追溯到try块。...对字典使用get()和setdefault() 试图访问一个不存在的字典键会导致一个KeyError错误,所以程序员通常会编写啰嗦的代码来避免这种情况,就像这样: >>> # Unpythonic Example...这种模式经常发生,以至于字典中有一个get()方法,当字典中不存在某个键时,该方法允许您指定一个要返回的默认值。...同样,与手动调用open()和close()相比,with语句是一种更干净、更不容易出错的文件处理方式。with语句确保无论何时执行跳出with语句块,都会调用close()。

    1.5K60

    如何写出Pythonic的代码

    Python由于语言的简洁性,让我们以人类思考的方式来写代码,新手更容易上手,老鸟更爱不释手。...要写出 Pythonic(优雅的、地道的、整洁的)代码,还要平时多观察那些大牛代码,这里明哥收集了一些比较常见的 Pythonic 写法,帮助你养成写优秀代码的习惯。 01....单行表达式 上面两个案例,都将多行代码用另一种方式写成了一行代码。 这并不意味着,代码行数越少,就越 Pythonic 。 比如下面这样写,就不推荐。...访问字典元素 当直接使用 [] 来访问字典里的元素时,若key不存在,是会抛异常的,所以新会可能会先判断一下是否有这个 key,有再取之。...因此推荐养成习惯使用 with open 来读写文件,上下文管理器会自动执行关闭句柄的操作 with open('file.txt') as fp: for line in fp.readlines

    76021

    如何让pandas根据指定列的指进行partition

    ##解决方案 朴素想法 最朴素的想法就是遍历一遍原表的所有行,构建一个字典,字典的每个key是title,value是两个list。...不断将原有数据放入其中,然后到时候直接遍历keys,根据两个list构建pd,排序后导出。 更python的做法 朴素想法应该是够用的,但是不美观,不够pythonic,看着很别扭。...直接用df1 = df[df["Sales"]>=s]这样的语句就可以完成。 但是这在我们的场景上并不太适用。当然,可以提前遍历一遍把title做成集合再循环遍历,不过这也不是很pythonic。...df.groupby('ColumnName')可以进行遍历,结果是一个(name,subDF)的二元组,name为分组的元素名称,subDF为分组后的DataFrame 对df.groupby('ColumnName...')产生的对象执行get_group(keyvalue)可以选择一个组 此外还有聚合、转换、过滤等操作,不赘述。

    4.8K40

    python中循环遍历for怎么用_python遍历字典的值

    大家好,又见面了,我是你们的朋友全栈君。 在Python中,如何使用“for”循环遍历字典? 今天我们将会演示三种方法,并学会遍历嵌套字典。 在实战前,我们需要先创建一个模拟数据的字典。...Python 会自动将dict_1视为字典,并允许你迭代其key键。然后,我们就可以使用索引运算符,来获取每个value值。...for key in dict_1.keys(): print(key, '-->', dict_1[key]) 方法 3:使用 .items( ) 进行迭代 其实,遍历字典的最“pythonic...如果只想解压其中的部分字典,可以在if语句中增加条件。...以上,就是在Python中使用“for”循环遍历字典的小技巧了。 如果大家觉得本文还不错,记得给个一键三连!

    8.6K20
    领券