python里的列表/元组/字典/*args/**kwargs/keys关键字/Assert/Enumerate

python 列表 (List)

        ~~~~~~~        列表是最常用的Python数据类型,它可以作为一个方括号内的逗号分隔值出现。
        ~~~~~~~        也就是说,创建一个列表,只要把逗号分隔的不同的数据项使用方括号括起来即可。如下所示:

list1 = ['physics', 'chemistry', 1997, 2000]
list2 = [1, 2, 3, 4, 5 ]
list3 = ["a", "b", "c", "d"]

python 元组 (Tuple)

        ~~~~~~~        与列表不同之处在于元组的元素不能修改。
        ~~~~~~~        元组使用小括号,列表使用方括号。
        ~~~~~~~        元组创建只需要在括号中添加元素,并使用逗号隔开即可。

tup1 = ('physics', 'chemistry', 1997, 2000)
tup2 = (1, 2, 3, 4, 5 )
tup3 = "a", "b", "c", "d"

python 字典 (Dictionary)

        ~~~~~~~        字典是另一种可变容器模型,且可存储任意类型对象。
        ~~~~~~~        字典的每个键值 (key=>value)对用" : “分割,每个键值对之间用” , "分割,整个字典包括在花括号 { } 中 ,格式如下所示:

>>> dict = {'a': 1, 'b': 2, 'b': '3'}
>>> dict['b']
'3'
>>> dict
{'a': 1, 'b': '3'}
  • 需要说明的是,键一般是唯一的,而键值会由后面的替换前面的

*args 和 ** kwargs

        ~~~~~~~        *args称之为Non-keyword Variable Arguments,无关键字参数;

        ~~~~~~~        **kwargs称之为keyword Variable Arguments,有关键字参数;

  • 当函数中以列表或者元组的形式传参时,就要使用*args;

  • 当传入字典形式的参数时,就要使用**kwargs。
    -在这里插入图片描述

keys关键字

需要注意的是keys关键字在python2.x和python3有一点差异
  • 在python3中,如果直接使用dict.keys(),那么返回值为dict_keys对象,并非直接的列表,若要返回列表值还需调用list函数。
>>>phone_book={'sam':'1234','tom':'5678'}  //创建字典
>>>phone_book.keys()                       //调用keys方法
dict_keys(['sam', 'tom'])
>>>list(phone_book.keys())                 //调用list函数
['sam', 'tom']
  • 在python2.x中,如果直接使用dict.keys(),那么直接返回列表,若要返回列表,无需需调用list函数。
>>>dict={'name':'ming','age':20}
>>>dict.keys()
['name', 'age']

Assert (断言)

语法格式为
assert expression

等价于
if not expression:
    raise AssertionError
    
assert 后面也可以紧跟参数:
assert expression [, arguments]

等价于:
if not expression:
    raise AssertionError(arguments)

eg:
在这里插入图片描述

Enumerate函数

  • case1
#eg1:
line = [1,2,3,4,5,6,7,8,9]
for i,j in enumerate(line):
    print(i,j)
#以下是输出结果
0 1
1 2
2 3
3 4
4 5
5 6
6 7
7 8
8 9
#eg2:
line = ["a","b","c","d","e"]
for i,j in enumerate(line):
    print(i,j)
#output:
0 a
1 b
2 c
3 d
4 e

  • case2
>>>seasons = ['Spring', 'Summer', 'Fall', 'Winter']
>>> list(enumerate(seasons))
[(0, 'Spring'), (1, 'Summer'), (2, 'Fall'), (3, 'Winter')]
>>> list(enumerate(seasons, start=1))       # 下标从 1 开始
[(1, 'Spring'), (2, 'Summer'), (3, 'Fall'), (4, 'Winter')]

  • case3

Try语句

在这里插入图片描述
在这里插入图片描述

Final — How to understand?

    def __init__(self, **kwargs):
        allowed_kwargs = {'name'}
        for kwarg in kwargs.keys():
            assert kwarg in allowed_kwargs, 'Invalid keyword argument: ' + kwarg
        name = kwargs.get('name')
        if not name:
            name = get_layer_name(self)
        self.name = name
        self.vars = {}
        self.sparse_inputs = False

Supplementary Material

训练集、验证集、测试集以及交验验证的理解
for   ~  i , j   ~   in enumerate(): 解析

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值