用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]))

我是一个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]))
... 
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。您如何知道它不起作用?正确。我修好了:-)正确。我修好了:-)