我无法使用以下断言语句:
assert(data[5] == {
'tone': ['line', 'five', 'Test', 'one', '.'],
'ttwo': ['line', 'five', 'Test', 'two', '.'],
'tline': [3]
})
我的理解是它正在测试在每个列表中的位置5处索引的数据(“音调”,“ttwo”和“tline”),但是“数据”是指字典吗?但它有大括号,如果它是一个字典会产生“音调”,“ttwo”和“tline”键,而不是列表,这对我来说没有意义。
或者,data
是否包含更多列表(tone
,ttwo
和tline
)的列表,这些列表本身还包含字符串或数字列表?< / p>
我认为我的数据本身的格式正确为tone
,ttwo
和tline
(见下文);我只是无法弄清楚如何将它们放入“数据”中以使这个断言语句有效。
tone = ['line', 'five', 'Test', 'one', '.']
ttwo = ['line', 'five', 'Test', 'two', '.']
tline = 3
我试图以我知道的方式解决这个问题(将data
设置为列表/元组/字典)并且我没有运气。我看过,但我找不到类似的问题,使用相同类型的数据结构或断言语句。
答案 0 :(得分:3)
如果data[5]
是任何东西,那么data
可能是一个列表(或其他一些序列,如元组,甚至是dict或其他映射,恰好将整数作为键 - 但在任何你可以给它一个列表,这段代码会接受它。)
同时,如果将data[5]
与带有==
的词典进行比较,那么它几乎可以肯定是一个词典。因此,data
不仅仅是任何列表,而是一个列表,其第五个元素是一个字典。我们不知道前5个元素(或5个以上的任何元素)是什么,但由于断言没有检查它们,我们可以把任何我们想要的东西放在那里。
对于那个data[5]
dict-well的成员,你几乎把它们搞定了。它们都是列表 - 两个字符串列表和一个整数列表 - 但请注意您编写了tline = 3
。一个int的列表与该int的值不同;你需要清单。
所以,让我们从里到外构建它:
tone = ['line', 'five', 'Test', 'one', '.']
ttwo = ['line', 'five', 'Test', 'two', '.']
tline = [3]
data5 = {'tone': tone, 'ttwo': ttwo, 'tline': tline}
data = [data5 for _ in range(6)]
现在,它会过去。
答案 1 :(得分:1)
你的理解有点不对劲。此 import matplotlib.pyplot as plt
from mpl_toolkits.basemap import Basemap
import numpy as np
# Draw map with cyl projection
m = Basemap(projection='cyl', llcrnrlon=-140, llcrnrlat=20, urcrnrlon=-70, urcrnrlat=70,
resolution='l')
m.drawcountries(linewidth=1.8)
m.drawstates(linewidth=1.2)
m.drawcoastlines(1.8)
m.drawmapboundary(fill_color='#99ffff')
m.fillcontinents(color='#cc9966', lake_color='#99ffff', alpha=0.5)
ax = plt.gca()
# Plot line from lat/lon: (36, -113) to (40, -100)
ax.plot([-113, -100], [36, 40], linewidth=4)
# Use imshow()
extent = [-113, -100, 36, 40]
imag = [[1, 2], [3, 4]]
im = ax.imshow(imag, extent=extent, cmap='hot_r')
plt.show()
检查assert
的第6个元素是否为具有这些值的目录。传递此语句的数据分配可能如下所示:
data
现在断言通过了。
答案 2 :(得分:1)
echo '<div class="row">';
echo '<form style="text-align:center" method="post" action="">';
echo '<div class="column">';
echo '<p>
<h3>Original language?<h3><br>
<select name="formLanguageStart">
<option value="">Select one</option>
<option value="it">Italian</option>
<option value="en">English</option>
<option value="zh">Chinese</option>
</select>
</p>';
echo '</div>';
echo '<div class="column">';
echo '<p>
<h3>Destination language?<h3><br>
<select name="formLanguagDest">
<option value="">Select one</option>
<option value="it">Italian</option>
<option value="en">English</option>
<option value="zh">Chinese</option>
</select>
</p>';
echo '</div>';
echo ' <input type="submit" value="Load translation table"/></form>';
echo '</div>';
是包含密钥data[5]
,"tone"
和"ttwo"
的字典。与每个键关联的值是一个列表。
"tline"
本身可以是列表或字典 - 或任何其他接受整数键的数据结构(data
并未明确指出data[5]
必须是任何特定类型) - 但它可能是一个列表。
你可以写一个data
来通过测试:
data