Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python嵌套循环在列表中迭代列表_Python_Python 3.x_Dictionary - Fatal编程技术网

Python嵌套循环在列表中迭代列表

Python嵌套循环在列表中迭代列表,python,python-3.x,dictionary,Python,Python 3.x,Dictionary,嗨,我正在努力成为一名代码简洁的程序员。我正在尝试循环列表中的一个列表,并将其更改为列表中的字典这是我的代码现在请告诉我是否有任何方法可以通过较短的代码行实现is 首先,我需要循环列表,将毫秒更改为日期,然后我需要循环列表并向列表中添加键,以便知道每个值是什么 import datetime formatter = ['Date', 'Open', 'Close', 'High', 'Low', 'Volume'] list = [[1364770800000, 93.2, 93.033, 9

嗨,我正在努力成为一名代码简洁的程序员。我正在尝试循环列表中的一个列表,并将其更改为列表中的字典这是我的代码现在请告诉我是否有任何方法可以通过较短的代码行实现is

首先,我需要循环列表,将毫秒更改为日期,然后我需要循环列表并向列表中添加键,以便知道每个值是什么

import datetime

formatter = ['Date', 'Open', 'Close', 'High', 'Low', 'Volume']
list = [[1364770800000, 93.2, 93.033, 93.29, 92.9, 116.0018], [1364774400000, 93.25, 93.1, 100, 93.03, 345.58388931]]

print(list)

def mili_to_date(d):
    d /= 1000.0
    return datetime.date.fromtimestamp(d).strftime('%Y-%m-%d')


for i, row in enumerate(list):
    for index, column in enumerate(row):
        if index == 0:
            list[i][0] = mili_to_date(column)
        else:
            pass

for i, row in enumerate(list):
    list[i] = {}
    for index, column in enumerate(row):
        list[i][candles_formatter[index]] = column

print(list)
要成为一名更好的程序员:

  • 你的职能
  • 拥抱并思考创造性输入可能发生的错误

  • 使用

  • 不要将
    集合
    /
    列表
    /
    dict
    /
    元组
    /
    /
    的名称或类似名称用作变量名称
  • 利用内置功能,如:

输出:

[{'Close': 93.033,
  'Date': '2013-04-01',
  'High': 93.29,
  'Low': 92.9,
  'Open': 93.2,
  'Volume': 116.0018},
 {'Close': 93.1,
  'Date': '2013-04-01',
  'High': 100,
  'Low': 93.03,
  'Open': 93.25,
  'Volume': 345.58388931}]

非常感谢您的回复。因此,在上面的代码中,在键周围放上括号,value是否意味着我们现在在dict中有元组?@可能也没有,这只是意味着我搞错了,返回了一个
集合的列表,而不是您想要的。修复了它,感谢指针:)-最后一个建议:三次检查您想要的输出和您提供的内容;)
[{'Close': 93.033,
  'Date': '2013-04-01',
  'High': 93.29,
  'Low': 92.9,
  'Open': 93.2,
  'Volume': 116.0018},
 {'Close': 93.1,
  'Date': '2013-04-01',
  'High': 100,
  'Low': 93.03,
  'Open': 93.25,
  'Volume': 345.58388931}]