Python List、切片与大模型:从入门到实践的优雅之旅

前言

大家好!今天我们来聊聊 Python 开发中几个非常实用的知识点------Python List、切片操作,以及如何将这些基础操作在大模型时代的实际应用。这篇文章将带你从基础概念走到实战,保证干货满满,看完就能用!


一、Python List:灵活的通用容器

1.1 List 是什么?

Python 中最灵活的特性之一就是 List,它不像 Java/C++ 那样需要提前指定容量和类型,和 JS 的 Array 类似,但更加优雅。可以说,JS 借鉴了 Python 的很多特性,不过两者真是一对好兄弟。

python 复制代码
# Python 中本身没有 Java/C++ 那样的内置数组
# list 是 Python 中灵活有序、可修改的通用容器列表
L = ["曹辉", 500, "赖庆庆", "周文强", "徐波", "洪忠圣"]
print(L)  # ['曹辉', 500, '赖庆庆']

1.2 Python vs JavaScript:各有所长

  • Python:适合机器学习、爬虫、数据分析
  • JavaScript:Number 类型没有高精度浮点数类型,特别适合做页面展示和交互

二、切片 Slice:人生苦短,我用 Python

2.1 切片简化了取元素的操作

切片是 Python 中大大简化了取元素的操作,让代码更加优雅。

python 复制代码
L = ["曹辉", 500, "赖庆庆", "周文强", "徐波", "洪忠圣"]

# 传统方式取前三项
r = []
n = 3
for i in range(n):
    r.append(L[i])
print(r)  # ['曹辉', 500, '赖庆庆']

# 使用切片
print(L[0:3])   # ['曹辉', 500, '赖庆庆']
print(L[:3])     # 同上,0可以省略
print(L[1:3])   # ['500, '赖庆庆']
print(L[-2:])    # ['徐波', '洪忠圣']

2.2 更多切片技巧

python 复制代码
L = list(range(100))
print(L[-10:])  # 取最后10个元素

# 字符串也可以切片
print('ABCDEFG'[:3])    # 'ABC'
print('ABCDEFG'[::2])  # 'ACEG' 每隔2个取一个

2.3 实战:不使用 strip 的 trim 函数

利用切片实现 trim 函数,这是一个经典的面试题!

python 复制代码
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'

三、大模型时代:Transformer 与 LLM 接口

3.1 Transformer 架构:改变世界的架构

  • OpenAI 基于 Google 开源的 Transformer 架构,引领了 2022 年底的生成式人工智能浪潮,现已成为业内标准。

主流 LLM 厂商:

  • OpenAI
  • DeepSeek(兼容 OpenAI 接口)
  • Google Gemini
  • Anthropic Claude

3.2 ModelScope:阿里的开源模型社区

  • ModelScope 是阿里云推出的开源模型社区
  • 包含海量开源模型和数据集
  • 非常适合做 NLP 实验

3.3 实战:调用 DeepSeek API

让我们看看如何使用 DeepSeek API 来处理实际问题:

python 复制代码
from openai import OpenAI

client = OpenAI(
    api_key="sk-665d3142ca9d480c9c6823c67f0cbe00",
    base_url="https://api.deepseek.com/v1"
)

COMPLETION_MODEL = "deepseek-chat"
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
"""

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))

3.4 Prompt 工程的艺术

写好 Prompt 是用好 LLM 的关键:

  1. **清晰且详细地表达目标(参考 Amazon 的细化方式)
  2. 分步骤:1, 2, 3...
  3. 约束返回格式:指定 JSON 格式,字段名清晰指定

这样 LLM 返回的结果示例:

json 复制代码
{
  "title": "Glow-in-the-Dark Inflatable PVC Frog Toy for Kids, Night Market, Water Play & Pool Fun",
  "selling_point": [
    "Vibrant Glow Feature: Built-in LED lights make this frog shine brightly at night, perfect for evening markets, camping, or backyard fun.",
    "Durable PVC Material: Made from thick, high-quality PVC that resists punctures and withstands rough play, both in water and on land.",
    "Versatile Use: Ideal for swimming pools, bathtubs, beaches, and night markets---a multi-purpose toy that kids love day or night.",
    "Safe & Child-Friendly: BPA-free, non-toxic material with smooth edges ensures safe play for children ages 3 and up.",
    "Attractive Novelty Design: Eye-catching frog shape with bright colors that appeal to kids and easily draw attention at street stalls or retail displays."
  ],
  "price_range": "$9.99 - $15.99"
}

四、Jupyter Notebook:边写代码边记录的神器

Jupyter Notebook 是数据分析、学习和写报告的绝佳工具:

  • 支持 Markdown 文件(.md)
  • Notebook 文件(.ipynb)
  • 边写代码边记录,所见即所得

总结

今天我们从 Python List 的灵活特性,谈到了切片的优雅使用,再到大模型时代的 LLM 接口调用。这些知识点看似简单,但组合起来就能发挥巨大的威力。希望这篇文章对你有所帮助,欢迎在评论区交流!


关键词:Python List、切片、Transformer、LLM、DeepSeek、ModelScope、Prompt 工程

相关推荐
用户6337197359011 小时前
_winapi.CreateProcess....FileNotFoundError: [WinError 2] 系统找不到指定的文件
python
清水白石0081 小时前
Python 数据建模指南:dataclass、TypedDict 与 Pydantic 的选型博弈
前端·javascript·python
xiaoyan20151 小时前
全新首发uniapp+deepseek-v4三端通用智能ai助手
uni-app·ai编程·deepseek
小郑加油1 小时前
python_综合训练
开发语言·python
葬送的代码人生1 小时前
Notebook环境下的List、Slice与LLM大冒险
python·jupyter·api
多彩电脑1 小时前
Kivy的事件向方法传递的event是什么?
开发语言·python
hnxaoli1 小时前
统信小程序(十四)支持拖拽的旋图程序
python·小程序
颜进强1 小时前
Claude Code -5 MCP 实战指南:从协议原理到 5 大服务配置
ai编程
惊梢鸟1 小时前
一天学会三个实用Python技巧:切片、strip()和LLM接口调用
python