我目前正在学习python并测试解决问题的不同方法,但目前我已经陷入困境。
所以,我想查找特定数据,如果存在则返回它。我正在从手机类别的易趣帖子中提取数据,我希望我的程序能够从描述中提取数据。
这是我的程序给我的描述iPhone SE 64gb brand new not used unlocked
另一个例子:
Selling my phone, used very carefully.
我希望我的程序打印出来:
Model: iPhone SE, Storage: 64GB
我试过了:
storage_types = {8: "8GB", 16: "16GB", 32: "32GB", 64: "64GB", 128: "128GB", 256: "256GB"}
if storage_types in description:
print("Storage: ", storage_types)
谢谢!
答案 0 :(得分:2)
这是从描述字符串中提取存储数据的简单方法。它不是很有效,因为它使用了一个双for
循环,但它是对当前代码的改进。 :)
descriptions = [
'iPhone SE 64gb brand new not used unlocked',
'Selling my phone, used very carefully.',
]
storage_types = ["8GB", "16GB", "32GB", "64GB", "128GB", "256GB"]
for desc in descriptions:
for s in storage_types:
if s in desc.upper():
break
else:
s = None
print('Description: {!r}, Storage: {}'.format(desc, s))
<强>输出强>
Description: 'iPhone SE 64gb brand new not used unlocked', Storage: 64GB
Description: 'Selling my phone, used very carefully.', Storage: None
请注意,此技术不是非常强大:如果数字与“GB”字符串之间有任何空格,则无法应对。处理它的一种方法是使用正则表达式(又名正则表达式)。
提取模型信息会稍微困难一些,因为您的代码需要应对人们在描述中编写模型数据的方式的许多变化。