在 Python 中获取列表中每个字符串的第一个字符

目录

Get the first character of each string in a List in Python

  1. 在 Python 中获取列表中每个字符串的第一个字符
  2. 在 Python 中获取列表中第一个字符串的第一个字符
  3. 在 Python 中获取字符串中每个单词的第一个字母

在 Python 中获取 List 中每个字符串的第一个字符

要获取列表中每个字符串的第一个字符:

  1. 使用列表理解来遍历列表。
  2. 访问索引处的每个字符串0并返回结果。
  3. 新列表将包含每个列表项的第一个字符。
主程序
my_list = ['bobby', 'hadz', 'com'] new_list = [item[0] for item in my_list] print(new_list) # 👉️ ['b', 'h', 'c']

我们使用
列表理解来迭代列表。

列表推导用于对每个元素执行某些操作或选择满足条件的元素子集。

在每次迭代中,我们访问索引处的当前项目0并返回结果

Python 索引是从零开始的,因此字符串中的第一个字符的索引为0,最后一个字符的索引为-1or len(my_str) - 1

新列表包含原始列表中每个字符串的第一个字符。

或者,您可以使用for 循环

使用 for 循环获取 List 中每个字符串的第一个字符

这是一个三步过程:

  1. 声明一个存储空列表的新变量。
  2. 使用for循环遍历原始列表。
  3. 将每个字符串的第一个字符附加到新列表中。
主程序
my_list = ['bobby', 'hadz', 'com'] new_list = [] for item in my_list: new_list.append(item[0]) print(new_list) # 👉️ ['b', 'h', 'c']

我们使用for循环遍历列表。

在每次迭代中,我们使用该list.append()方法将当前字符串的第一个字符附加到新列表。

list.append ()方法将一个项目添加到列表的末尾。

主程序
my_list = ['bobby', 'hadz'] my_list.append('com') print(my_list) # 👉️ ['bobby', 'hadz', 'com']

该方法在改变原始列表时返回 None 。

您选择哪种方法是个人喜好的问题。我会使用列表理解,因为我发现它们非常直接且易于阅读。

在 Python 中获取列表中第一个字符串的第一个字符

使用两组方括号获取列表中第一个字符串的第一个字符。

第一组方括号返回列表中的第一个元素,第二组返回字符串中的第一个字符。

主程序
my_list = ['bobby', 'hadz', 'com'] first = my_list[0][0] print(first) # 👉️ 'b' print(my_list[0][1]) # 👉️ 'o'
Python 索引是从零开始的,因此列表中的第一项的索引为,最后一项的索引为 0-1 len(my_list) - 1

第一组方括号用于访问列表中的第一项。

主程序
my_list = ['bobby', 'hadz', 'com'] print(my_list[0]) # 👉️ bobby print(my_list[0][0]) # 👉️ b

第二组方括号用于访问字符串中的第一个字符。

处理列表为空或第一个字符串为空的情况

如果您尝试在不存在的索引处访问列表或字符串,则会出现异常IndexError

如果需要处理异常,可以使用
try/except语句。

主程序
my_list = ['', 'hadz', 'com'] try: print(my_list[0][0]) except IndexError: # 👇️ this runs print('The specified index is out of range')
列表中的第一个字符串是空的,因此尝试在索引处访问它会引发一个,然后由块处理 0IndexError except

您可以使用相同的方法
获取
列表中第一个字符串的
前 N ​​个字符。

主程序
my_list = ['bobby', 'hadz', 'com'] first = my_list[0][:1] print(first) # 👉️ 'b' first_two = my_list[0][:2] print(first_two) # 👉️ 'bo' first_three = my_list[0][:3] print(first_three) # 👉️ 'bob'

字符串切片的语法是my_str[start:stop:step].

索引start是包含的,而stop索引是排他的(最多,但不包括)。

切片my_str[:1]从 index 开始0,一直向上,但不包括 index 1,所以它只选择字符串的第一个字符。

省略索引时start,切片从索引开始0

如果您需要获取列表中每个字符串的第一个字符,请使用列表理解。

主程序
my_list = ['bobby', 'hadz', 'com'] first_chars = [item[0] for item in my_list] print(first_chars) # 👉️ ['b', 'h', 'c']

我们使用列表理解来迭代字符串列表。

列表推导用于对每个元素执行某些操作或选择满足条件的元素子集。

在每次迭代中,我们访问索引处的当前字符串0并返回第一个字符。

新列表包含列表中每个字符串的第一个字符。

在 Python 中获取字符串中每个单词的第一个字母

要获取字符串中每个单词的第一个字母:

  1. 使用str.split()方法将字符串拆分为单词列表。
  2. 使用列表理解来遍历列表。
  3. 访问索引处的每个单词0并返回结果。
主程序
my_str = 'my site is bobbyhadz.com' my_list = [word[0] for word in my_str.split()] print(my_list) # 👉️ ['m', 's', 'i', 'b']

我们使用该str.split()方法将字符串拆分为单词列表。

str.split ()方法使用分隔符将字符串拆分为子字符串列表。

主程序
my_str = 'my site is bobbyhadz.com' # 👇️ ['my', 'site', 'is', 'bobbyhadz.com'] print(my_str.split())
当没有分隔符传递给该str.split()方法时,它会将输入字符串拆分为一个或多个空白字符。

我们使用列表理解来迭代列表。

列表推导用于对每个元素执行某些操作或选择满足条件的元素子集。

在每次迭代中,我们访问索引处的当前单词0并返回结果。

主程序
my_str = 'my site is bobbyhadz.com' my_list = [word[0] for word in my_str.split()] print(my_list) # 👉️ ['m', 's', 'i', 'b']
Python 索引是从零开始的,因此字符串中的第一个字符的索引为0,最后一个字符的索引为-1or len(my_str) - 1

新列表包含字符串中每个单词的首字母。

或者,您可以使用for循环。

使用 for 循环获取字符串中每个单词的第一个字母

这是一个三步过程:

  1. 使用str.split()方法将字符串拆分为单词列表。
  2. 使用for循环遍历列表。
  3. Append the first letter of each word to a new list.
main.py
my_str = 'my site is bobbyhadz.com' my_list = [] for word in my_str.split(): my_list.append(word[0]) print(my_list) # 👉️ ['m', 's', 'i', 'b']

We first used the str.split() method to split the string into a list of words
and used a for loop to iterate over the list.

On each iteration, we append the first letter of the current word to a new list.

The list.append() method
adds an item to the end of the list.

main.py
my_list = ['bobby', 'hadz'] my_list.append('com') print(my_list) # 👉️ ['bobby', 'hadz', 'com']

The method returns None as it mutates the original
list.

Which approach you pick is a matter of personal preference. I’d use a list
comprehension as I find them quite direct and easy to read.

# Additional Resources

You can learn more about the related topics by checking out the following
tutorials: