You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何访问列表的子元素?如何提取单词列表中每个单词的字母生成列表?

嘿,我来帮你搞定这两个Python列表相关的问题!

一、如何访问列表的子元素?

在Python里,列表的元素主要通过索引和切片两种方式访问:

  • 通过索引访问单个元素:
    列表的索引从0开始计数(第一个元素对应索引0),也支持负索引(从末尾往前数,-1代表最后一个元素)。举个例子:

    foods = ["apple", "banana", "cherry"]
    # 访问第一个元素
    print(foods[0])  # 输出: apple
    # 访问最后一个元素
    print(foods[-1])  # 输出: cherry
    # 访问第二个元素
    print(foods[1])  # 输出: banana
    
  • 通过切片访问多个元素:
    切片的格式是列表[起始索引:结束索引:步长],其中结束索引对应的元素不会被包含进来。比如:

    foods = ["apple", "banana", "cherry", "date", "elderberry"]
    # 获取第2到第4个元素(索引1到3)
    print(foods[1:4])  # 输出: ['banana', 'cherry', 'date']
    # 获取前3个元素
    print(foods[:3])  # 输出: ['apple', 'banana', 'cherry']
    # 获取从第3个元素到末尾的所有元素
    print(foods[2:])  # 输出: ['cherry', 'date', 'elderberry']
    # 倒序获取所有元素
    print(foods[::-1])  # 输出: ['elderberry', 'date', 'cherry', 'banana', 'apple']
    
二、提取每个单词的单个字母生成新列表

针对由单词组成的列表,分两种常见需求来实现:

需求1:把所有单词的字母合并成一个一维列表

可以用嵌套的列表推导式,遍历每个单词再遍历每个字母:

foods = ["apple", "banana", "cherry"]
all_letters = [char for word in foods for char in word]
print(all_letters)
# 输出: ['a', 'p', 'p', 'l', 'e', 'b', 'a', 'n', 'a', 'n', 'a', 'c', 'h', 'e', 'r', 'r', 'y']

需求2:每个单词的字母作为子列表,形成二维列表

这种情况可以用列表推导式,或者更简洁的map函数:

foods = ["apple", "banana", "cherry"]
# 方法1:列表推导式
word_letters = [[char for char in word] for word in foods]
# 方法2:map函数(将每个单词转成列表)
word_letters = list(map(list, foods))

print(word_letters)
# 输出: [['a', 'p', 'p', 'l', 'e'], ['b', 'a', 'n', 'a', 'n', 'a'], ['c', 'h', 'e', 'r', 'r', 'y']]

内容的提问来源于stack exchange,提问作者Ira

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.20 06:57:43