Python:如何搜索字典和复制值?

Python:如何搜索字典和复制值?,python,for-loop,dictionary,Python,For Loop,Dictionary,我是一个新手用户。我有两个字典(“行”和“数据”) 我想搜索“行”,当我发现“long”和“lat”的值与“clong”和“clat”的值一致时,我想将“created_at”键从“行”复制到“数据”中 不幸的是,上面的代码不起作用,我被卡住了。任何帮助都将不胜感激 有很多方法可以做到这一点。最直接(尽管效率较低)的方法可能是迭代行和数据,如果存在长和纬度键的匹配,则将当前行的时间键添加到数据的i第个元素 或者举个例子 rows = [ {'long':1, 'lat':4, 'time

我是一个新手用户。我有两个字典(“行”和“数据”)

我想搜索“行”,当我发现“long”和“lat”的值与“clong”和“clat”的值一致时,我想将“created_at”键从“行”复制到“数据”中


不幸的是,上面的代码不起作用,我被卡住了。任何帮助都将不胜感激

有很多方法可以做到这一点。最直接(尽管效率较低)的方法可能是迭代
数据
,如果存在
纬度
键的匹配,则将当前
时间
键添加到
数据
i
第个元素

或者举个例子

rows = [
    {'long':1, 'lat':4, 'time': '7:00'},
    {'long':2, 'lat':5, 'time': '8:00'},
    {'long':3, 'lat':6, 'time': '9:00'}
]
data = [
    {'long':1,  'lat':4, },
    {'long':20, 'lat':5, },
    {'long':3,  'lat':6, }
]

for row in rows:
    for i, d in enumerate(data):
        if row['long'] == d['long'] and row['lat'] == d['lat']:
           data[i]['time'] = row['time']

for x in data:
    print x
输出

{'lat': 4, 'long': 1, 'time': '7:00'}
{'lat': 5, 'long': 20}
{'lat': 6, 'long': 3, 'time': '9:00'}

请注意,第二个元素没有获得
时间
键,因为
lat
/
long
不匹配。

数据
可能不是真正的dicts。
[0]
确实可疑。
数据
看起来像DICT列表(因为您正在访问
行[0]
列表[0]
)。另外,
变量从未在循环中使用过,因此每次似乎都在访问第一个条目。我认为它们是DICT列表?“寻求调试帮助的问题”(“为什么此代码不起作用?”)必须包括所需的行为、特定的问题或错误以及在问题本身中重现问题所需的最短代码。没有明确问题说明的问题对其他读者没有用处。”“上述代码不起作用”不是充分的问题说明,无论是谁投了反对票,我都欢迎建设性的批评。有什么问题吗?还是应该改变什么?
rows = [
    {'long':1, 'lat':4, 'time': '7:00'},
    {'long':2, 'lat':5, 'time': '8:00'},
    {'long':3, 'lat':6, 'time': '9:00'}
]
data = [
    {'long':1,  'lat':4, },
    {'long':20, 'lat':5, },
    {'long':3,  'lat':6, }
]

for row in rows:
    for i, d in enumerate(data):
        if row['long'] == d['long'] and row['lat'] == d['lat']:
           data[i]['time'] = row['time']

for x in data:
    print x
{'lat': 4, 'long': 1, 'time': '7:00'}
{'lat': 5, 'long': 20}
{'lat': 6, 'long': 3, 'time': '9:00'}