g*****9 发帖数: 349 | 1 请问各位大哥,怎样才能在python 3里实现吧下面的数据
{'name': ['Gus’s World Famous Fried Chicken',
'South City Kitchen - Midtown',
'Mary Mac’s Tea Room',
'Busy Bee Cafe',
'Richards’ Southern Fried',
'Greens & Gravy',
'Colonnade Restaurant',
'South City Kitchen Buckhead',
'Poor Calvin’s',
'Rock’s Chicken & Fries'],
'numrevs': [549, 1777, 2241, 481, 108, 93, 350, 248, 1558, 67],
'price': ['$$', '$$', '$$', '$$', '$$', '$$', '$$', '$$', '$$', '$'],
'stars': ['4.0',
'4.5',
'4.0',
'4.0',
'4.0',
'3.5',
'4.0',
'4.5',
'4.5',
'4.0']}
变成这样呢?
[{'name': 'Gus’s World Famous Fried Chicken',
'numrevs': 549,
'price': '$$',
'stars': '4.0'},
{'name': 'South City Kitchen - Midtown',
'numrevs': 1777,
'price': '$$',
'stars': '4.5'},
{'name': 'Mary Mac’s Tea Room',
'numrevs': 2241,
'price': '$$',
'stars': '4.0'},
{'name': 'Busy Bee Cafe', 'numrevs': 481, 'price': '$$', 'stars': '4.0'},
{'name': 'Richards’ Southern Fried',
'numrevs': 108,
'price': '$$',
'stars': '4.0'},
{'name': 'Greens & Gravy', 'numrevs': 93, 'price': '$$', 'stars': '3.5'
},
{'name': 'Colonnade Restaurant',
'numrevs': 350,
'price': '$$',
'stars': '4.0'},
{'name': 'South City Kitchen Buckhead',
'numrevs': 248,
'price': '$$',
'stars': '4.5'},
{'name': 'Poor Calvin’s', 'numrevs': 1558, 'price': '$$', 'stars': '4.5'},
{'name': 'Rock’s Chicken & Fries',
'numrevs': 67,
'price': '$',
'stars': '4.0'}] | e********e 发帖数: 12 | 2 [{'name':x, 'numrevs':y, ...} for (x,y,...) in zip(d['name'], d['numrevs'],
...)]
【在 g*****9 的大作中提到】 : 请问各位大哥,怎样才能在python 3里实现吧下面的数据 : {'name': ['Gus’s World Famous Fried Chicken', : 'South City Kitchen - Midtown', : 'Mary Mac’s Tea Room', : 'Busy Bee Cafe', : 'Richards’ Southern Fried', : 'Greens & Gravy', : 'Colonnade Restaurant', : 'South City Kitchen Buckhead', : 'Poor Calvin’s',
| d*****8 发帖数: 21 | 3 pandas.DataFrame(you_dict).to_json(orient=‘records’) | a***c 发帖数: 1 | 4 zip大法好
[dict(zip(data.keys(), d)) for d in zip(*data.values())]
,
【在 e********e 的大作中提到】 : [{'name':x, 'numrevs':y, ...} for (x,y,...) in zip(d['name'], d['numrevs'], : ...)]
| T*******x 发帖数: 8565 | 5 这个好。
:zip大法好
:[dict(zip(data.keys(), d)) for d in zip(*data.values())] | g*****9 发帖数: 349 | 6 太谢谢了,这个用法一定要牢记在心~
从多个list里面拿东西,用zip
还是用的不熟练:
To loop over two or more sequences at the same time, the entries can be
paired with the zip() function. | n******g 发帖数: 2201 | 7 这种用Java 烙印给你hard code上交
[在 async (async) 的大作中提到:]
:zip大法好 | n***p 发帖数: 110 | 8 你这个data structure几乎就是cloure里的map
(map (partial zipmap (keys data)) (apply map vector (vals data)))
【在 g*****9 的大作中提到】 : 请问各位大哥,怎样才能在python 3里实现吧下面的数据 : {'name': ['Gus’s World Famous Fried Chicken', : 'South City Kitchen - Midtown', : 'Mary Mac’s Tea Room', : 'Busy Bee Cafe', : 'Richards’ Southern Fried', : 'Greens & Gravy', : 'Colonnade Restaurant', : 'South City Kitchen Buckhead', : 'Poor Calvin’s',
| n***p 发帖数: 110 | 9 试着在clojure repl运行了一下,data要把“:”去掉,把single quote换成double
quote
user=> (def data {"name" ["Gus’s World Famous Fried Chicken",
#_=> "South City Kitchen - Midtown",
#_=> "Mary Mac’s Tea Room",
#_=> "Busy Bee Cafe",
#_=> "Richards’ Southern Fried",
#_=> "Greens & Gravy",
#_=> "Colonnade Restaurant",
#_=> "South City Kitchen Buckhead",
#_=> "Poor Calvin’s",
#_=> "Rock’s Chicken & Fries"],
#_=> "numrevs" [549, 1777, 2241, 481, 108, 93, 350, 248, 1558, 67],
#_=> "price" ["$$", "$$", "$$", "$$", "$$", "$$", "$$", "$$", "$$", "$"],
#_=> "stars" ["4.0",
#_=> "4.5",
#_=> "4.0",
#_=> "4.0",
#_=> "4.0",
#_=> "3.5",
#_=> "4.0",
#_=> "4.5",
#_=> "4.5",
#_=> "4.0"]})
#'user/data
user=> (map (partial zipmap (keys data)) (apply map vector (vals data)))
({"name" "Gus’s World Famous Fried Chicken", "numrevs" 549, "price" "$$", "
stars" "4.0"} {"name" "South City Kitchen - Midtown", "numrevs" 1777, "price
" "$$", "stars" "4.5"} {"name" "Mary Mac’s Tea Room", "numrevs" 2241, "
price" "$$", "stars" "4.0"} {"name" "Busy Bee Cafe", "numrevs" 481, "price"
"$$", "stars" "4.0"} {"name" "Richards’ Southern Fried", "numrevs" 108, "
price" "$$", "stars" "4.0"} {"name" "Greens & Gravy", "numrevs" 93, "price"
"$$", "stars" "3.5"} {"name" "Colonnade Restaurant", "numrevs" 350, "price"
"$$", "stars" "4.0"} {"name" "South City Kitchen Buckhead", "numrevs" 248, "
price" "$$", "stars" "4.5"} {"name" "Poor Calvin’s", "numrevs" 1558, "price
" "$$", "stars" "4.5"} {"name" "Rock’s Chicken & Fries", "numrevs" 67, "
price" "$", "stars" "4.0"})
user=> |
|