Python访问正确的值for循环

Dev*_*ugo 1 python for-loop

我有 :

data = [ {"Bucket": "test", "MountPoint": "/data"}, {"Bucket": "test2", "MountPoint": "/data2"} ]
Run Code Online (Sandbox Code Playgroud)

我使用这个循环访问我的值BucketMountPoint在列表中.

my_vals = [val for d in data for val in d.values()]

>>> print(my_vals)
['/data', 'test', '/data2', 'test2']
Run Code Online (Sandbox Code Playgroud)

但有了这个,我把BucketMountPoint放在我的清单中.而现在,我怎么能只MountPoint通过修改我的列表来放入我的列表?

谢谢 !

jed*_*rds 8

列表理解(迭代dicts)是一种可能性:

data = [ {"Bucket": "test", "MountPoint": "/data"}, {"Bucket": "test2", "MountPoint": "/data2"} ]

buckets = [d["Bucket"] for d in data]      # ['test', 'test2']
mpoints = [d["MountPoint"] for d in data]  # ['/data', '/data2']
Run Code Online (Sandbox Code Playgroud)

  • 只是添加`d ["Bucket"]`可以替换为`d.get("Bucket",None)`来处理丢失键的情况 (2认同)