用python编写嵌套循环
我是一个Python初学者,正在努力编写使用列表用python编写嵌套循环,python,loops,nested,nested-loops,Python,Loops,Nested,Nested Loops,我是一个Python初学者,正在努力编写使用列表myList=[[a','B','C'],[4,5,6] ,[7,8,9]并生成以下输出: 输入: myList = [['A','B','C'],[4,5,6],[7,8,9]] 预期产出:(按行) 我尝试了一些不同的方法,但不确定如何处理同一列表中字符串和整数的合流 我可以得到: >>> for i in range (0,myList_len): ... print ("-".join(myList[i]))
myList=[[a','B','C'],[4,5,6] ,[7,8,9]
并生成以下输出:
输入:
myList = [['A','B','C'],[4,5,6],[7,8,9]]
预期产出:(按行)
我尝试了一些不同的方法,但不确定如何处理同一列表中字符串和整数的合流
我可以得到:
>>> for i in range (0,myList_len):
... print ("-".join(myList[i]))
...
A-B-C
但我不能让这对数字起作用。任何帮助都将不胜感激 join运算符需要一个字符串列表,因此您必须首先将数字转换为字符串,使用str运算符将任何内容转换为字符串
for l in myList:
print '-' + '-'.join([str(x) for x in l]) + '-'
“join”操作符需要一个字符串列表,因此您必须首先将数字转换为字符串,使用“str”操作符将任何内容转换为字符串
for l in myList:
print '-' + '-'.join([str(x) for x in l]) + '-'
您可以使用
map
将int
转换为str
for l1 in myList:
print '-' + '-'.join(map(str, l1)) + '-'
您可以使用
map
将int
转换为str
for l1 in myList:
print '-' + '-'.join(map(str, l1)) + '-'
join作用于字符串,而不是数字。您需要转换:
print ("-".join(str(num) for num in myList[i]))
现在,只需在开始和结束处添加连字符,就完成了。join适用于字符串,而不是数字。您需要转换:
print ("-".join(str(num) for num in myList[i]))
现在,只需在开始和结束处添加连字符,即可完成操作。当您尝试连接数字时,会出现以下错误:
TypeError: sequence item 0: expected str instance, int found
这是因为str.join()
因此,为了正确地连接它们,首先需要将它们转换为字符串。您可以使用map
对每个项目调用str
,也可以使用列表:
>>> lst = [4, 5, 6]
>>> '-'.join(map(str, lst))
'4-5-6'
>>> '-'.join([str(x) for x in lst])
'4-5-6'
当您尝试加入数字时,会出现以下错误:
TypeError: sequence item 0: expected str instance, int found
这是因为str.join()
因此,为了正确地连接它们,首先需要将它们转换为字符串。您可以使用map
对每个项目调用str
,也可以使用列表:
>>> lst = [4, 5, 6]
>>> '-'.join(map(str, lst))
'4-5-6'
>>> '-'.join([str(x) for x in lst])
'4-5-6'
请尝试以下操作:
for sublist in myList:
print("-".join(map(str, sublist)))
输出为:
A-B-C
4-5-6
7-8-9
-A-B-C-
-4-5-6-
-7-8-9-
如果还需要前导和尾随连字符,请使用:
for sublist in myList:
print("-" + "-".join(map(str, sublist)) + "-")
输出为:
A-B-C
4-5-6
7-8-9
-A-B-C-
-4-5-6-
-7-8-9-
for
循环迭代子列表。map(str,sublist)
调用将str
应用于子列表的每个元素,并将其转换为字符串。如果没有此选项,您的非字符串条目(即数字)在传递到join
时会导致错误。请尝试以下操作:
for sublist in myList:
print("-".join(map(str, sublist)))
输出为:
A-B-C
4-5-6
7-8-9
-A-B-C-
-4-5-6-
-7-8-9-
如果还需要前导和尾随连字符,请使用:
for sublist in myList:
print("-" + "-".join(map(str, sublist)) + "-")
输出为:
A-B-C
4-5-6
7-8-9
-A-B-C-
-4-5-6-
-7-8-9-
for
循环迭代子列表。map(str,sublist)
调用将str
应用于子列表的每个元素,并将其转换为字符串。如果没有此选项,您的非字符串条目(即数字)在传递到join
时会导致错误。您需要帮助还是问题已解决?如果有帮助的话,那就先读一读这个数字的错误是什么。然后试着解决这个问题。Aaaaaand,就是这样(对于这个案例)。myList\u len的来自哪里?您可以在myList:
中直接迭代列表:for i。您如何知道它不起作用?需要帮助或问题得到解决?如果有帮助的话,那就先读一读这个数字的错误是什么。然后试着解决这个问题。Aaaaaand,就是这样(对于这个案例)。myList\u len的来自哪里?您可以在myList:
中直接迭代列表:for i。您如何知道它不起作用?正确。我修好了:-)正确。我修好了:-)