字符串和數值如何使用3名平行陣列列表以排序3平行列表:排序,其包括在Python
NUM1 = [ 'A', 'B', 'C']
NUM2 = [ '蘋果','梨','葡萄']
num3 = [2.5,4.0,.68]
我用2作爲語句,後跟if語句。通過元素排序輸出應爲:
一個蘋果2.5
b梨4.0
Ç葡萄0.68
不幸的是,我有排序使用交換排序元素中的第三NUM3值的問題。任何想法
字符串和數值如何使用3名平行陣列列表以排序3平行列表:排序,其包括在Python
NUM1 = [ 'A', 'B', 'C']
NUM2 = [ '蘋果','梨','葡萄']
num3 = [2.5,4.0,.68]
我用2作爲語句,後跟if語句。通過元素排序輸出應爲:
一個蘋果2.5
b梨4.0
Ç葡萄0.68
不幸的是,我有排序使用交換排序元素中的第三NUM3值的問題。任何想法
既然你說列表是並行的,那就讓我們把它們分組成元組,然後對元組列表進行排序。
num1 = ['a','b','c']
num2 = ['apple','pear','grapes']
num3 = [2.5,4.0,.68]
lst = zip(num1, num2, num3)
lst.sort()
for x1, x2, x3 in lst:
print x1, x2, x3,
print
結果是:
一個蘋果2.5 b梨4.0ç葡萄0.68
從你期望的輸入和輸出它似乎沒有任何你想要的排序 - 只需:
num1 = ['a','b','c']
num2 = ['apple','pear','grapes']
num3 = [2.5,4.0,.68]
for item in [x for t in zip(num1, num2, num3) for x in t]:
print item,
print
這確實給你提到的輸出 - 這是你想要的嗎?
它看起來像是交錯列表。是否有分揀涉及? – 2009-11-13 03:06:43
這是功課嗎? – tom10 2009-11-13 03:12:52
-1:並行列表是一個錯誤(當然,除非這是作業)。你爲什麼不先把它們合併成元組? – 2009-11-13 12:25:37