如何从列表中获取项目

时间:2021-06-26 16:24:19

标签: python-3.x

我正在尝试从列表中获取所需的项目(看起来像字典列表)。想知道是否有更好的方法来做到这一点。我觉得使用了太多拆分来获取 Gender 值。

>>> record = ['{"Name": "Jack", "Gender": "Male"}']
>>>
>>> type(record)
<class 'list'>
>>>
>>> for item in record:
...     Gen = item.split(",")[1].split()[1].rstrip("}")
...
>>> print(Gen)
"Male"
>>>

谢谢,

1 个答案:

答案 0 :(得分:3)

您拥有的是一个包含一个字符串元素的列表,它是一个 JSON 格式的对象(字典)。所以:

import 'package:image/image.dart' as IMG;

Future<void> cropSquare(String srcFilePath, String destFilePath) async {
  final bytes = await File(srcFilePath).readAsBytes();
  IMG.Image src = IMG.decodeImage(bytes);

  // pass x and y(offset),width, height value of face bounding box you detected
  IMG.Image destImage = IMG.copyCrop(src, x, y, width, height);

  final png = IMG.encodePng(destImage);
  await File(destFilePath).writeAsBytes(png);
}

然而,这是一个奇怪的输入结构。如果您可以控制此列表的形成方式,则应更改它,并确保避免将该字典编码为 JSON,或者——如果您以 JSON 格式接收它——在更早的阶段解析该 JSON -- 在它被包裹在那个列表之前。