Python 技巧

一、%r:可替代 %s、%d 等
>>> s = 'abc'
>>> i = 1
>>> '%r is %r' % (s, i)
"'abc' is 1"
>>> '%r is %r' % (i, s)
"1 is 'abc'"
二、元组拆包
  • 元组在Python中的作用:不可变的列表;无名称的字段的记录
  • 任何可迭代元素均可使用元组拆包
  • 用途
    1. 平行赋值
    2. *tuple 作为函数参数
>>> from math import hypot
>>> data = (3,4)
>>> hypot(*data)
5.0
  1. 函数以元组形式返回多个值
  2. _占位符,*处理剩余元素(可为空)
三、namedtuple
  • 构建有名字的类
  • 构建带字段名的元组
>>> from collections import namedtuple
>>> People = namedtuple('People', 'name sex age')
>>> man = People('wang', 'man', 15)
>>> man
People(name='wang', sex='man', age=15)
>>> man.name
'wang'
# 三个常用的属性、方法:_fields、_make()、_asdict()
>>> data = ('lin', 'woman', 22)
>>> woman = People._make(data)  # 使用元组快速构建
>>> woman
People(name='lin', sex='woman', age=22)
>>> woman._asdict()  # 以一种友好的方式输出
OrderedDict([('name', 'lin'), ('sex', 'woman'), ('age', 22)]) 
>>> woman._fields
('name', 'sex', 'age') # 显示People的所有属性
四、字典推导
In [8]: codes = [(86, "China"),
   ...: (91, 'India'),
   ...: (1, 'United States'),
   ...: (62, 'Indonestia'),
   ...: (81, 'Japan')
   ...: ]

In [9]: country_code = {country: code for code,country in codes}

In [10]: country_code
Out[10]: {'China': 86, 'India': 91, 'Indonestia': 62, 'Japan': 81, 'United State
s': 1}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值