首页 > 解决方案 > TypeError: 'int' object is not iterable ...只需要 List 中的字符串值

问题描述

我收到以下错误

TypeError: 'int' object is not iterable 

并且只想从列表中获取字符串,是否可以在列表中仅获取字符串?

这是我的init.py

def get_fx_pairs(pairs_str: List[str]) -> List[FXPair]:
    from investapp.models.fxpairs import FXPair
    pairs: List[FXPair] = []
    print("pairs_str::",pairs_str)
    for pair_str in pairs_str:
      if (pair_str):
        try: 
          pair = FXPair.query.filter_by(pair=pairs_str).one()
        except NoResultFound:
          pair = FXPair(pairs_str)
          db.session.add(pair)
          db.session.commit()
          db.session.flush()
   pairs.append(pair)
return pairs

标签: python-3.xflaskflask-sqlalchemyplotly-dash

解决方案


有太多的方法可以做到这一点。其中之一是像这样检查数组项的类-

def get_fx_pairs(pairs_str: List[str]) -> List[FXPair]:
    if not isinstance(pair_str,list):
       return
    from investapp.models.fxpairs import FXPair
    pairs: List[FXPair] = []
    print("pairs_str::",pairs_str)
    for pair_str in pairs_str:
        if pair_str and isinstance(pair_str,str):
            try: 
                pair = FXPair.query.filter_by(pair=pairs_str).one()
            except NoResultFound:
                pair = FXPair(pairs_str)
                db.session.add(pair)
                db.session.commit()
                db.session.flush()
            pairs.append(pair)
    return pairs

推荐阅读