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 關注
- 230 瀏覽
添加回答
舉報