从列表中提取列表并以新格式打印每个列表 - Python 3.6
Extract List from Lists and Print each List with a new format - Python 3.6
我有一个如下格式的列表,包括末尾的额外方括号:
[[[['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']]]]
我想获取此列表并打印出以下内容:
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
额外的括号是不是把我搞砸了?
我试过了..
newList = []
for item in result:
newList.append(item[0].split(","))
print(newList)
你的列表是list inside a list inside a list,解释了额外的括号。
这个有效:
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
假设内部列表总是一对字符串:
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])
希望对朋友有帮助:
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
您是否试过像这样循环遍历指定的索引
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
所以你基本上有四个层次的嵌套列表:
[ # <- 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]
然后使用 for pair in list_of_pairs
遍历 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-loop:
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]))
我有一个如下格式的列表,包括末尾的额外方括号:
[[[['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']]]]
我想获取此列表并打印出以下内容:
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
额外的括号是不是把我搞砸了?
我试过了..
newList = []
for item in result:
newList.append(item[0].split(","))
print(newList)
你的列表是list inside a list inside a list,解释了额外的括号。
这个有效:
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
假设内部列表总是一对字符串:
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])
希望对朋友有帮助:
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
您是否试过像这样循环遍历指定的索引
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
所以你基本上有四个层次的嵌套列表:
[ # <- 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]
然后使用 for pair in list_of_pairs
遍历 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-loop:
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]))