在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?的主要内容,如果未能解决你的问题,请参考以下文章

Python中的“ @”(@)符号有啥作用?

为啥 list 应该先转换为 RDD 再转换为 Dataframe?有啥方法可以将列表转换为数据框?

Flutter - 有啥方法可以将字符串转换为列表并将 list<String> 转换回字符串?

List<String>转换成List<Object>这一类的强转有啥隐患

List<String> 转换成List<Object> 这一类的强转有啥隐患?

java中两个list对比有啥好办法?