亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

使用 Python 語法編寫此 PHP 代碼的最簡單方法是什么?

使用 Python 語法編寫此 PHP 代碼的最簡單方法是什么?

PHP
元芳怎么了 2021-06-16 18:04:41
PHP代碼:<?php$result = [];$input = ['Sofia 50', 'Sofia 20', 'Sofia 30', 'Varna 10', 'Varna 20'];foreach ($input as $item) {    $keyValuePairs = explode(' ', $item);    $key = $keyValuePairs[0];    $value = $keyValuePairs[1];    if (array_key_exists($key, $result)) {        $result[$key]['count'] += 1;        $result[$key]['sum'] += $value;    } else {        $result[$key]['count'] = 1;        $result[$key]['sum'] = $value;    }}echo '<pre>';var_dump($result);我在 Python 中嘗試過的:input_row = input_row.split(' ')region_name = input_row[0]region_size = input_row[1]if region_name in result:    result[region_name]['count'] += 1    result[region_name]['sum'] += region_sizeelse:    result[region_name]['count'] = 1    result[region_name]['sum'] = region_size但它在 Python 中不起作用。我期望什么結果:array(2) {  ["Sofia"]=>  array(2) {    ["count"]=>    int(3)    ["sum"]=>    int(100)  }  ["Varna"]=>  array(2) {    ["count"]=>    int(2)    ["sum"]=>    int(30)  }}
查看完整描述

1 回答

?
喵喵時光機

TA貢獻1846條經驗 獲得超7個贊

PHP 到 Python


input_data = ['Sofia 50', 'Sofia 20', 'Sofia 30', 'Varna 10', 'Varna 20']

result = {}


for elem in input_data:                     #Iterate each element. 

    key, value = elem.split()               #Split on space

    if key not in result:                   #Check if key exists in result

        result[key] = {'count': 0,'sum': 0}

    result[key]['count'] += 1                #Increment count

    result[key]['sum'] += int(value)         #Increment value


print(result)

輸出:


{'Sofia': {'count': 3, 'sum': 100}, 'Varna': {'count': 2, 'sum': 30}}


查看完整回答
反對 回復 2021-06-19
  • 1 回答
  • 0 關注
  • 151 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號