我在python中有一个代码段,我尝试运行它,但是我无法理解所生成的输出。这是我的代码:
s = {"chris" :["1", "22", "333", "4444"] }
第一个For循环及其输出:
for i in range(len(s["chris"])): #10
print(s["chris"][i])
Output:
1
22
333
4444
第二个For循环及其输出:
for i in range (len(s["chris"])): #7
print(len(s["chris"][i]))
Output:
1
2
3
4
如果有人可以帮助我理解for循环代码并帮助我理解所产生的输出,那将是一个很大的帮助。谢谢。
答案 0 :(得分:1)
说明:
第一个示例:
反复遍历字典的chris
键的范围(range
从0
到parameter - 1
的迭代器)
然后使用该索引在字典的chris
键中获取值
第二个示例:
'1'
的长度为1,而'22'
的长度为2,依此类推答案 1 :(得分:1)
您有一个dictionary s
,并且"chris"
是指向列表["1", "22", "333", "4444"]
的键。因此,调用s["chris"]
会给您列表["1", "22", "333", "4444"]
,而s["chris"][i]
对于i = 0,... 3会给您列表的元素,即s["chris"][0] = "1"
,{ {1}},等等。其余的应该弄清楚自己。
让我补充一下,第一个循环等效于
s["chris"][1] = "22"
和第二个循环
for val in s["chris"]:
print(val)
答案 2 :(得分:1)
当您使用for i in range(some integer)
时,循环会将i从0迭代到那个some integer - 1
例如,以下代码将给出0 1 2 3 4
作为输出
for i in range(5):
print (i)
在第一个for循环中,您将i
迭代到列表"chris"
的长度4,然后在i th
列表中打印"chris"
元素。因此得到第一个输出
在第二个循环中,循环条件是相同的,但是您在其中打印了i th
列表的"chris"
元素的长度,即1 2 3 4,这是您在第二个循环中的输出。
希望你能理解