5 回答
TA贡献1876条经验 获得超5个赞
您的列表是列表中的列表中的列表,这解释了额外的括号。
这有效:
result = [[[['10.0.0.0-E', '10.0.0.0-B'], ['172.0.0.0-E', '172.0.0.0-B'], ['12.0.0.0-E', '12.0.0.0-B']]]]
for item in result[0][0]:
print(f'{item[0]} - {item[1]}')
result[0][0]选择 的第一个元素result(一个列表),然后选择其第一个元素(另一个列表) - for 循环然后将该列表的每个元素item一次分配给一个。
print(f'{item[0]} - {item[1]}')获取该项目并打印您需要的格式化字符串:
10.0.0.0-E - 10.0.0.0-B
172.0.0.0-E - 172.0.0.0-B
12.0.0.0-E - 12.0.0.0-B
TA贡献1820条经验 获得超2个赞
我希望这对我的朋友有帮助:
a = [[[['10.0.0.0-E', '10.0.0.0-B'], ['172.0.0.0-E', '172.0.0.0-B'], ['12.0.0.0-E', '12.0.0.0-B']]]]
main_list = a[0][0]
for i in range(len(main_list)):
print(main_list[i][0], '-' ,main_list[i][1])
输出:
10.0.0.0-E - 10.0.0.0-B
172.0.0.0-E - 172.0.0.0-B
12.0.0.0-E - 12.0.0.0-B
TA贡献1796条经验 获得超4个赞
所以你基本上有四个级别的嵌套列表:
[ # <- first level
[ # <- second level
[ # <- third level
['10.0.0.0-E', '10.0.0.0-B'],
['172.0.0.0-E', '172.0.0.0-B'],
['12.0.0.0-E', '12.0.0.0-B']
]
]
]
在这种情况下,第一级和第二级并不重要。您想要迭代第三层并连接字符串。
首先删除这两个外部级别:
my_list = [[[['10.0.0.0-E', '10.0.0.0-B'], ['172.0.0.0-E', '172.0.0.0-B'], ['12.0.0.0-E', '12.0.0.0-B']]]]
list_of_pairs = my_list[0][0]
然后迭代list_of_pairs使用for pair in list_of_pairs并连接字符串:
for pair in list_of_pairs:
print(' - '.join(pair))
把它们放在一起:
my_list = [[[['10.0.0.0-E', '10.0.0.0-B'], ['172.0.0.0-E', '172.0.0.0-B'], ['12.0.0.0-E', '12.0.0.0-B']]]]
for pair in my_list[0][0]:
print(' - '.join(pair))
或者,摆脱显式的 for 循环:
my_list = [[[['10.0.0.0-E', '10.0.0.0-B'], ['172.0.0.0-E', '172.0.0.0-B'], ['12.0.0.0-E', '12.0.0.0-B']]]]
print('\n'.join(' - '.join(pair) for pair in my_list[0][0]))
TA贡献1873条经验 获得超9个赞
假设内部列表始终是一对字符串:
from functools import reduce
a = [[[['10.0.0.0-E', '10.0.0.0-B'], ['172.0.0.0-E', '172.0.0.0-B'], ['12.0.0.0-E', '12.0.0.0-B']]]]
if a:
while type(a[0]) == list:
a = reduce(lambda x,y:x+y,a)
for i in range(0,len(a),2):
print(a[i],a[i+1])
TA贡献1876条经验 获得超7个赞
您是否尝试过像这样循环指定索引
for i in x[0][0]:
print(i)
Result
['10.0.0.0-E', '10.0.0.0-B']
['172.0.0.0-E', '172.0.0.0-B']
['12.0.0.0-E', '12.0.0.0-B']
或者你当然可以像这个例子一样使用end=''
for i in x[0][0]:
for j in I:
print(j, end='')
print(end='\n')
Result:
10.0.0.0-E10.0.0.0-B
172.0.0.0-E172.0.0.0-B
12.0.0.0-E12.0.0.0-B
- 5 回答
- 0 关注
- 154 浏览
添加回答
举报