Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
Kiryuu Sakuya
TensorFlow-Homework
Commits
9f743593
Unverified
Commit
9f743593
authored
Apr 14, 2020
by
Kiryuu Sakuya
🎵
Browse files
Upload 03
parent
a3870411
Changes
1
Hide whitespace changes
Inline
Side-by-side
exam/3.md
0 → 100644
View file @
9f743593
# 第3关:Batch Generator 批生成器
## 任务描述
本关任务:编写一个能不断输出一个固定个数的数据的类。
## 相关知识
为了完成本关任务,你需要掌握:
1.
打乱列表顺序
2.
返回列表对应元素的索引
3.
简单的数组的切片
### 打乱列表顺序
`numpy.random.shuffle()`
可以打乱一个数组本来的顺序。
```
python
import
numpy
as
np
l
=
[
0
,
1
,
2
,
3
,
4
,
5
]
print
(
f
'初始:
{
l
}
'
)
np
.
random
.
shuffle
(
l
)
print
(
f
'打乱后:
{
l
}
'
)
```
输出:
```
初始:[0, 1, 2, 3, 4, 5]
打乱后:[2, 1, 5, 4, 0, 3]
```
### 返回列表对应元素的索引
根据元素的值返回其在列表中的索引。列表自带的方法
`index()`
就可以完成这个任务。
示例如下:
```
python
labels
=
[
'bus'
,
'family sedan'
,
'fire engine'
,
'
\f
racing car'
]
i
=
labels
.
index
(
'bus'
)
print
(
f
'bus 的 index 是
{
i
}
'
)
```
输出:bus 的 index 是 0
### 简单的数组的切片
即选择一个数组的某一部分。本例只需要用到一维数组的切片,这里仅用一维数组举例,使用列表索引时用
`:`
隔开起始和结尾索引就行,所得的元素包含起始,不包含结尾。如果索引是负数,代表从后往前数。如果需要最后的元素,可以使用 None。
示例如下:
```
python
labels
=
[
'bus'
,
'family sedan'
,
'fire engine'
,
'
\f
racing car'
]
start
,
end
=
[
1
,
-
1
]
print
(
labels
[
start
:
end
])
print
(
labels
[
start
:
None
])
```
输出:
```
['family sedan', 'fire engine']
['family sedan', 'fire engine', '\fracing car']
```
## 编程要求
在右侧编辑器补充代码,完成生成器。
## 测试说明
平台会调用你写的生成器,检验是否正确地迭代返回了数据。
---
开始你的任务吧,祝你成功!
## 答案
见
`generatorCompleted.py`
。
\ No newline at end of file
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment