如何打印列表中字符串的第一个字母?

时间:2019-07-17 18:03:40

标签: python-3.x

所以我要让用户输入他们的名字,然后再给他们起名字的缩写,但是我在打印每个字符串的第一个字母时遇到了麻烦。我认为是这样的:

    seperated[1]

仅在字符串中打印第一个字母时有效,但是当我在列表中打印时,它仅打印第一个项目。如何告诉它打印列表中第一个字符串的首字母?

name = str(input('Enter a name: '))
separated = name.split(' ')

5 个答案:

答案 0 :(得分:1)

您应该研究python slicing选项 https://www.pythoncentral.io/how-to-slice-listsarrays-and-tuples-in-python/

name[:1]

打印每个单词的第一个字符:

for word in separated:
   print(word[:1])

答案 1 :(得分:1)

您正在基于''拆分名称,因此只会拆分名称

就像您输入名称一样(rohit kumar)

因此它只会将名字和姓氏分开,而不会给您名字的缩写

答案 2 :(得分:1)

您知道如何使用separated[0]访问数组中的项,但是从技术上讲,字符串也是字符数组!因此,您可以使用separated[0][0]访问数组中第一个字符串的第一个字母。 另外,str.split()默认情况下使用空格进行拆分(因此不需要将''定义为分隔符),并从结果数组中获取首字母:

name = 'Jane Doe'  # User input
separated = name.split()  # ['Jane', 'Doe']
first_initial =  separated[0][0]  # 'J'  
last_initial = separated[1][0]  # 'D'

print(f'Your initials are: {first_initial}.{last_initial}.')

以下是一些与您相关的资源:

str.format

python's f-string syntax

和@Alex在上面包括了有关切片字符串/数组/元组的链接

答案 3 :(得分:0)

name = str(input('Enter a name: '))
x = name.split(' ')

print(x[0][0])
print(x[1][0])
print(x[2][0])

答案 4 :(得分:0)

这是一种解决方案:

first = separated[0]
second = separated[1]
third = separated[2]

然后我打印了每个字符串的第一个字母。