我寫了這個,但我不明白爲什麼它不工作。順便說一句,我是編程初學者。列表中的一個列表中的蟒蛇
fav_colours=[["bob"["likes:blue, hates:red"]],["john"["likes:red,hates:black"]],
["adam"["likes:purple,hates:pink"]]]
print fav_colours
我不認爲有任何錯誤。提前感謝。
我寫了這個,但我不明白爲什麼它不工作。順便說一句,我是編程初學者。列表中的一個列表中的蟒蛇
fav_colours=[["bob"["likes:blue, hates:red"]],["john"["likes:red,hates:black"]],
["adam"["likes:purple,hates:pink"]]]
print fav_colours
我不認爲有任何錯誤。提前感謝。
您需要通過逗號分隔每個列表項,因此["bob"["likes:blue, hates:red"]
應該是["bob", ["likes:blue, hates:red"]
。
而且看起來您可能需要使用dict
而不是那些內部列表。 {"likes": "blue"}
。
除了羅素·迪亞斯答案:
有多個嵌套列表讓你的問題,例如如果你想
要處理這些點,您可以使用字典替換外部列表。而且我認爲類似與恨的部分應該是獨立的字符串:
>>> fav_colours_dict = { "bob" : ["likes:blue", "hates:red"],
... "john" : ["likes:red", "hates:black"],
... "adam" : ["likes:purple", "hates:pink"] }
>>> print fav_colours_dict["john"]
['likes:red', 'hates:black']
接下來的事情要注意的是,你是有可能在顏色字符串只是感興趣,像「藍色」無「喜歡:「或」恨:「前綴。事實上,只有列表位置你已經有了這些信息,因爲0表示「喜歡」,1表示「討厭」。此外,由於沒有進一步的位置有意義,所以最好將顏色列表更改爲元組,()
。
所以詞典更改爲:
>>> fav_colours_dict = { "bob" : ("blue", "red"),
... "john" : ("red", "black"),
... "adam" : ("purple", "pink")}
現在用設置
>>> likes, hates = range(2) # likes = 0, hates = 1
您可以訪問 「喜歡」 顏色從亞當:
>>> print fav_colours_dict["adam"][likes]
purple
在你想添加幾種顏色的情況對於喜歡或討厭最好的方法是使用一套,與{}
。這將確保沒有顏色使用了兩次:
>>> fav_colours_dict = { "bob" : ({"blue", "yellow"}, {"red"}),
>>> ... "john" : ({"red"}, {"black", "green"}),
>>> ... "adam" : ({"purple", "black"}, {"pink"}) }
>>> print fav_colours_dict
{'bob': (set(['blue', 'yellow']), set(['red'])), 'john': (set(['red']),
set(['black', 'green'])), 'adam': (set(['purple', 'black']), set(['pink']))}
看到上面的輸出,你可能會想要更好的打印:
>>> for person, colours in fav_colours_dict.iteritems():
... print person
... print "- likes: " + ", ".join(colours[likes])
... print "- hates: " + ", ".join(colours[hates])
...
bob
- likes: blue, yellow
- hates: red
john
- likes: red
- hates: black, green
adam
- likes: purple, black
- hates: pink
所以最終你最常用的數據Python的結構:字典,元組和集合。
不夠','! –
你缺少逗號 – yurib