在python中有啥比较高效方法可以转换list中的str类型为float?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在python中有啥比较高效方法可以转换list中的str类型为float?相关的知识,希望对你有一定的参考价值。
现在使用的是list=map(float,list),但是语句所处的循环运行次数比较多,有更快的方法吗?已经尝试过列表解析的方法了也是差不多的时间
参考技术A list太大?如果需要一次性得到所有结果,那慢也没法咯;否则可以考虑使用迭代器,yield追问
迭代器yield对比for循环或者map速度如何?
追答这取决于你的具体需求和应用场景。迭代主要是省内存,因为不是一次性计算出所有结果。
参考技术B result = [float(item) for item in your_list]追问列表解析试过了啊,时间短不了多少
参考技术C 这种只能循环一个个搞咯默认情况下,有啥方法可以在 python 中使用双引号获取字符串?
【中文标题】默认情况下,有啥方法可以在 python 中使用双引号获取字符串?【英文标题】:Is there any way to get strings in python with double quotations by default?默认情况下,有什么方法可以在 python 中使用双引号获取字符串? 【发布时间】:2021-09-20 21:52:36 【问题描述】:data = f'\u007b"domainNames":domain_list\u007d'
response = requests.post(
'https://api.name.com/v4/domains:checkAvailability',
headers=headers, data=data, auth=auth)
问题是我试图在“domain_list”中发送一个列表。但它显示以下错误:
'message': 'Invalid Argument', 'details': '解析时出错:无法解码 json 字符串。'
当列表中的字符串是单引号时(例如:['example1.com', 'example2.com']
)。但是,如果我使用双引号字符串(即["example1.com", "example2.com"]
)发布请求,我会得到很好的结果。由于我是从文件中加载域名,有没有办法获取双引号字符串而不是单引号字符串?
【问题讨论】:
端点几乎肯定需要 JSON,在这种情况下,您应该使用json='domainNames': domain_list
以便正确编码您的列表。
requests
有一个json
字段(而不是data
),它应该为您自动格式化。另外,为什么不将数据格式化为 Python 字典呢?您不需要进行任何手动编码。
如果你不知道 JSON 是什么,你应该去查一下。 Python 字符串格式化不是为了生成 JSON,而且除了引号之外还有更多的区别。 Python 有一个用于生成 JSON 的 json
模块,尽管正如其他人所说,requests
可以为您处理。
data
参数通常接受 Python 对象而不是字符串。因此,如果您真的非常想要,它可能会像 data=eval(data)
一样工作。
@Safwan Amin,我编辑了我的答案。你能检查一下吗?这是错误的。
【参考方案1】:
您可以使用下面的代码将列表发送到name.api
。
代码:
import requests, json
headers =
'Content-Type': 'application/json',
domains = ["test.com","hasanyucel.com","hasan.com"]
data = json.dumps("domainNames": domains)
headers = 'Content-Type': 'application/json',
response = requests.post('https://api.name.com/v4/domains:checkAvailability', headers=headers, data=data, auth=('username', 'token')).content.decode()
response = json.loads(response)
domain_list = response["results"]
【讨论】:
以上是关于在python中有啥比较高效方法可以转换list中的str类型为float?的主要内容,如果未能解决你的问题,请参考以下文章
为啥 list 应该先转换为 RDD 再转换为 Dataframe?有啥方法可以将列表转换为数据框?
Flutter - 有啥方法可以将字符串转换为列表并将 list<String> 转换回字符串?
List<String>转换成List<Object>这一类的强转有啥隐患