玩转Python列表切片与实战调用DeepSeek API生成商品文案
当Python列表切片遇上大模型API,会擦出怎样的火花?今天带你一边掌握Python核心技巧,一边实战调用DeepSeek生成Amazon商品文案!
前言
最近在学习Python数据处理,发现列表切片真的是个宝藏功能,大大简化了序列操作。正好结合ModelScope和DeepSeek API,做了一个有意思的小项目------自动生成Amazon商品文案。整理成笔记分享给大家!
一、Python列表 vs JavaScript数组
Python中的list非常灵活,和JavaScript数组类似:
python
ini
# 不用提前指定容量,类型也可以混搭
L = ["name1", "name2", 123, True]
print(L)
核心特点:
- ✅ 长度动态可变,无需指定容量
- ✅ 不约束元素类型(可混搭)
- ✅ 支持丰富的内置方法
对比JS:
- Python适合数据分析、爬虫、机器学习
- JavaScript适合页面展示和交互
二、切片操作:取元素的利器
切片语法:[start:end:step]
python
ini
L = list(range(100))
# 前10个
print(L[:10])
# 后10个
print(L[-10:])
# 前10个,每2个取1个
print(L[:10:2])
# 每5个取1个
print(L[::5])
字符串切片:
python
bash
print('ABCDEFG'[:3]) # ABC
print('ABCDEFG'[::2]) # ACEG
三、实战:手写trim函数
利用切片实现字符串去空格:
python
sql
def trim(s):
left = 0
while left < len(s) and s[left] == ' ':
left += 1
right = len(s)
while right > left and s[right - 1] == ' ':
right -= 1
return s[left:right]
print(trim(" hello world ")) # "hello world"
四、调用DeepSeek API生成商品文案
配置客户端
python
ini
from openai import OpenAI
client = OpenAI(
api_key="你的API密钥",
base_url="https://api.deepseek.com/v1"
)
COMPLETION_MODEL = "deepseek-chat"
设计Prompt模板
好的Prompt需要:
- 清晰表达目标
- 分步骤说明
- 约束返回格式
python
ini
prompt = """
Consideration product:
工厂现货PVC充气青蛙夜市地摊热卖充气玩具发光蛙儿童水上玩具
1. Compose human readable product title used on
Amazon in english within 20 words.
2. Write 5 selling points for the products in Amazon
3. Evaluate a price range for this product in U.S.
Output the result in json format with
three properties called title, selling_point and
price_range
"""
调用API
python
ini
def get_response(prompt):
response = client.chat.completions.create(
model=COMPLETION_MODEL,
messages=[
{"role": "user", "content": prompt}
]
)
return response.choices[0].message.content
print(get_response(prompt))
五、关于ModelScope
阿里云的ModelScope(模型+空间)平台:
- 发布和托管开源模型
- 支持模型蒸馏
- 提供数据集(datasets)
- 适合做NLP实验
小贴士
Jupyter Notebook 适合边写代码边记录,后缀.ipynb,非常适合:
- 数据分析
- 学习Python
- 写技术报告
LLM接口要点:
- OpenAI基于Transformer架构,已成行业标准
- DeepSeek兼容OpenAI接口
- Gemini、Claude各有特色
总结
今天掌握了:
- Python列表的灵活性和切片用法
- 手写trim函数的思路
- 如何调用DeepSeek API
- 设计结构化的Prompt