2015-06-21 356 views
3

我期望通過讀取其他列表中的信息來生成列表。該列表的格式爲maindot =[dot1[0], dot2[0], ...],其採用來自dot1等列表的信息,例如,使用Python中不同列表中的元素填充列表

dot1=[2,4,34], dot2=[3,45,4], 

它將在一個單獨的參數文件中。點列表的數量將由用戶指定爲n。

我如何寫它,使python'知道'參數文件中給出的點列表的數量?

+0

你如何列表'DOT1,dot2'等,事先不知道有多少?你幾乎肯定需要將它們全部收集到一個列表(它的長度爲'n'),然後解決你的問題將是不同的(並且簡單)。提供有關您的參數文件的更多信息,我們會爲您設置直線。 – alexis

+0

所以我的參數文件如下所示: n = 2#點列表的數量 dot1 = [34,300,5,6,7,0] dot2 = [22,300,4,3,7,0 ] 和用戶可以增加n並添加另一個列表 –

+0

我什麼都沒看到......編輯你的問題來粘貼信息。 – alexis

回答

0

可以使用zip功能得到iterables的任意數列:

>>> dot1=[2,4,34] 
>>> dot2=[3,45,4] 
>>> zip(dot1,dot2) 
[(2, 3), (4, 45), (34, 4)] 

的你,並希望把另一個列表中你列出的第一個索引你可以得到的zip(dot1,dot2)第一個索引:

new_list=zip(dot1,dot2)[0] 

注意的是Python 3 zip返回一個生成器,所以你可以使用next功能訪問拳頭指數:

new_list=next(zip(dot1,dot2)) 

如果你有很多的名單,你可以把所有的人都用一個列表,並通過拆箱作業傳給他們都zip功能:

new_list=zip(*main_list)[0] 
+0

但我如何做到n列表? –

+0

@h_user檢查編輯! – Kasramvd

+0

列表的數量不是固定的,而是用戶定義的。所以我需要硬編碼一個可以處理這個問題的解決方案。 –