如何在python中的for循环中使用len(字典)?
我有一个python代码片段,我试着运行它,但我无法理解正在生成的输出。这是我的密码:如何在python中的for循环中使用len(字典)?,python,for-loop,Python,For Loop,我有一个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 i in range (len(s["chris"])):
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 i in range (len(s["chris"])): #7
print(len(s["chris"][i]))
Output:
1
2
3
4
第二个For循环及其输出:
for i in range(len(s["chris"])): #10
print(s["chris"][i])
Output:
1
22
333
4444
for i in range (len(s["chris"])): #7
print(len(s["chris"][i]))
Output:
1
2
3
4
如果有人能帮助我理解for循环代码,也能帮助我理解数据和生成的输出,那将是一个很大的帮助。谢谢。解释: 第一个例子:
- 通过字典的
键的范围进行迭代(chris
迭代器从range
到0
)参数-1
- 然后使用该索引获取字典的
键中的值chris
- 与第一个示例相同,但只是得到长度,
的长度是1,'1'
的长度是2,依此类推'22'
- 通过字典的
键的范围进行迭代(chris
迭代器从range
到0
)参数-1
- 然后使用该索引获取字典的
键中的值chris
- 与第一个示例相同,但只是得到长度,
的长度是1,'1'
的长度是2,依此类推'22'
- 解释:
第一个例子:
s
,“chris”
是指向列表的键[“1”、“22”、“333”、“4444”]
。因此,调用s[“chris”]
将为您提供列表[“1”、“22”、“333”、“4444”]
,而s[“chris”][i]
,对于i=0。。。3,为您提供此列表的元素,即s[“chris”][0]=“1”
,s[“chris”][1]=“22”
,等等。其余部分您应该自己解决
让我补充一下,第一个循环相当于
for val in s["chris"]:
print(val)
第二个循环是
for val in s["chris"]:
print(len(val))
您有一个s
,“chris”
是指向列表的键[“1”、“22”、“333”、“4444”]
。因此,调用s[“chris”]
将为您提供列表[“1”、“22”、“333”、“4444”]
,而s[“chris”][i]
,对于i=0。。。3,为您提供此列表的元素,即s[“chris”][0]=“1”
,s[“chris”][1]=“22”
,等等。其余部分您应该自己解决
让我补充一下,第一个循环相当于
for val in s["chris"]:
print(val)
第二个循环是
for val in s["chris"]:
print(len(val))
当您对范围内的i(某个整数)使用
时
循环将i从0迭代到该某个整数-1
例如,以下代码将0 1 2 3 4
作为输出
for i in range(5):
print (i)
在第一个for循环中,您迭代i
直到4,这是列表“chris”
的长度,并且您正在打印“chris”
列表中的i th
元素。因此,您得到了第一个输出
在第二个循环中,循环条件是相同的,但是在这里您可以打印“chris”
列表的i th
元素的长度,即1 2 3 4,这是您在第二个循环中的输出
希望您能理解当您对范围内的i(某个整数)使用
时
循环将i从0迭代到该某个整数-1
例如,以下代码将0 1 2 3 4
作为输出
for i in range(5):
print (i)
在第一个for循环中,您迭代i
直到4,这是列表“chris”
的长度,并且您正在打印“chris”
列表中的i th
元素。因此,您得到了第一个输出
在第二个循环中,循环条件是相同的,但是在这里您可以打印“chris”
列表的i th
元素的长度,即1 2 3 4,这是您在第二个循环中的输出
希望您能理解这不是很直观吗?您知道
范围
和len
是做什么的吗?如果没有,您是否尝试过阅读文档?第一个循环一个接一个地输出列表的内容(以一种非常不和谐、奇怪的方式),第二个循环输出列表中每个字符串的长度-但是,同样,没有人会这样做。这是你应该学习的一个例子吗?在Python shell中玩一玩,看看s[“chris”]
产生了什么,s[“chris”][0]
,len(s[“chris”])
和列表(范围(len(s[“chris”])
(比范围(…)
更有用)嘿!谢谢你的回复。我能理解范围和长度。我的问题是理解:print(s[“chris”][i])和print(len(s[“chris”][i])。我不能完全理解为什么我在这两个地方都使用索引。这不是很直观吗?你知道range
和len
做什么吗?如果没有,您是否尝试过阅读文档?第一个循环一个接一个地输出列表的内容(以一种非常不和谐、奇怪的方式),第二个循环输出列表中每个字符串的长度-但是,同样,没有人会这样做。这是你应该学习的一个例子吗?在Python shell中玩一玩,看看s[“chris”]
产生了什么,s[“chris”][0]
,len(s[“chris”])
和列表(范围(len(s[“chris”])
(比范围(…)
更有用)嘿!谢谢你的回复。我能理解范围和长度。我的问题是理解:print(s[“chris”][i])和print(len(s[“chris”][i])。我不能完全理解为什么在这两个地方都使用索引I。为什么range
意味着[1,2,3,4]
?@DeepSpace编辑的mine仍然不准确,range(n)
返回一个迭代器(Python2中的列表和Python3中的range
对象)现在有了0
到n-1
@DeepSpace?为什么range
意味着[1,2,3,4]
?@DeepSpace编辑的mine仍然不准确,range(n)
返回一个迭代器(Python 2中的列表和