目录
Get the first character of each string in a List in Python
在 Python 中获取 List 中每个字符串的第一个字符
要获取列表中每个字符串的第一个字符:
- 使用列表理解来遍历列表。
- 访问索引处的每个字符串
0
并返回结果。 - 新列表将包含每个列表项的第一个字符。
my_list = ['bobby', 'hadz', 'com'] new_list = [item[0] for item in my_list] print(new_list) # 👉️ ['b', 'h', 'c']
我们使用
列表理解来迭代列表。
在每次迭代中,我们访问索引处的当前项目0
并返回结果
Python 索引是从零开始的,因此字符串中的第一个字符的索引为0
,最后一个字符的索引为-1
or len(my_str) - 1
。
新列表包含原始列表中每个字符串的第一个字符。
或者,您可以使用for 循环。
使用 for 循环获取 List 中每个字符串的第一个字符
这是一个三步过程:
- 声明一个存储空列表的新变量。
- 使用
for
循环遍历原始列表。 - 将每个字符串的第一个字符附加到新列表中。
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'
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')
0
IndexError
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 中获取字符串中每个单词的第一个字母
要获取字符串中每个单词的第一个字母:
- 使用
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']
我们使用该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']
0
,最后一个字符的索引为-1
or 。 len(my_str) - 1
新列表包含字符串中每个单词的首字母。
或者,您可以使用for
循环。
使用 for 循环获取字符串中每个单词的第一个字母
这是一个三步过程:
- 使用
str.split()
方法将字符串拆分为单词列表。 - 使用
for
循环遍历列表。 - Append the first letter of each word to a new list.
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.
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: