Clayton Kirkwood wrote: > raw_table = (''' > a: Ask y: Dividend Yield > b: Bid d: Dividend per Share > b2: Ask (Realtime) r1: Dividend Pay Date > b3: Bid (Realtime) q: Ex-Dividend Date > p: Previous Close > o: Open''')
> o: Open #why aren't both the \t and \n > being removed? (tried with and without the square brackets) > I am trying to get to where I can create a dict using the ':' separator You never state your actual problem with sufficient precision, so I'm going to assume: - Create a Python dict from some text - Key-value pairs are separated by tabs or newlines - Keys are separated from values by a colon - Remaining whitespace surrounding keys and values needs to be stripped So >>> raw_table = '''\ ... a: Ask\t y: Dividend Yield ... b: Bid\td: Dividend per Share ... b2: Ask (Realtime)\t r1: Dividend Pay Date ... b3: Bid (Realtime)\tq: Ex-Dividend Date ... p: Previous Close ... o: Open''' I used \t as tabs, but literal tabs will work, too. The backslash in the first line is to avoid the empty first line. alternatively remove it and other leading/trailing whitespace with raw_table = raw_table.strip() >>> pairs = [pair for line in raw_table.splitlines() for pair in line.split("\t")] >>> pairs ['a: Ask', ' y: Dividend Yield', 'b: Bid', 'd: Dividend per Share', 'b2: Ask (Realtime)', ' r1: Dividend Pay Date', 'b3: Bid (Realtime)', 'q: Ex-Dividend Date', 'p: Previous Close', 'o: Open'] >>> pairs = [pair.partition(":")[::2] for pair in pairs] pair.split(":") instead of partition()[::2] would work, too. >>> pairs [('a', ' Ask'), (' y', ' Dividend Yield'), ('b', ' Bid'), ('d', ' Dividend per Share'), ('b2', ' Ask (Realtime)'), (' r1', ' Dividend Pay Date'), ('b3', ' Bid (Realtime)'), ('q', ' Ex-Dividend Date'), ('p', ' Previous Close'), ('o', ' Open')] >>> d = {k.strip(): v.strip() for k, v in pairs} >>> d {'b2': 'Ask (Realtime)', 'q': 'Ex-Dividend Date', 'b3': 'Bid (Realtime)', 'r1': 'Dividend Pay Date', 'd': 'Dividend per Share', 'y': 'Dividend Yield', 'p': 'Previous Close', 'b': 'Bid', 'a': 'Ask', 'o': 'Open'} _______________________________________________ Tutor maillist - Tutor@python.org To unsubscribe or change subscription options: https://mail.python.org/mailman/listinfo/tutor