Python 查找字符串列表中字符ASCII值的和
在本文中,我们将学习一个Python程序,查找字符串列表中字符的ASCII值的和。
使用的方法
以下是完成此任务的各种方法:
- 使用for循环、+运算符、ord()函数
-
使用列表推导、sum()、ord()函数
示例
假设我们已经输入了一个包含字符串元素的列表。我们将找到@@的和。
输入
Input List: ['hello', 'tutorialspoint', 'python', 'platform']
输出
[52, 209, 98, 101]
这里,每个列表元素的所有字符的ASCII值如下: hello 是 8+5+12+12+15 = 52 其中ASCII(h)= 104,起始ASCII值即ASCII(a)= 96,所以104-96得到8。
方法1:使用for循环,+运算符,ord()函数
步骤
以下是执行所需任务的算法/步骤:
- 创建一个变量来存储 输入 列表并打印给定列表。
-
创建一个空列表来存储列表的所有字符串元素的ASCII值之和。
-
使用for循环遍历输入列表的每个元素。
-
创建一个变量来存储ASCII值之和,并将其初始化为0(asciiValsSum)。
-
使用另一个嵌套的for循环遍历当前列表元素的每个字符。
-
使用 ord() 函数获取字符的ASCII值(返回给定字符的Unicode代码作为一个数字),并将其加到上面的 asciiValsSum 变量中。
-
使用 append() 函数(将元素添加到列表末尾)将字符的ASCII值之和附加到结果列表中。
-
打印输入列表中字符ASCII值之和的列表。
示例
以下程序使用for循环、sum()和ord()函数返回字符串列表中字符ASCII值的总和-
# input list
inputList = ["hello", "tutorialspoint", "python", "platform"]
# printing input list
print("Input List:", inputList)
# storing the total sum of ASCII values of all string elements of the list
resultList = []
# traversing through each element of an input list
for i in inputList:
# initializing ASCII values sum as 0
asciiValsSum = 0
# traversing through each character of the current list element
for char in i:
# getting the ASCII value of the character using the ord() function and
# adding it to the above asciiValsSum variable
asciiValsSum += (ord(char) - 96)
# appending ascii values sum to the resultant list
resultList.append(asciiValsSum)
# printing list of the sum of characters ASCII values in an input list
print("List of the sum of characters ASCII values in an input list:", resultList)
输出
在执行后,上述程序将生成以下输出:
Input List: ['hello', 'tutorialspoint', 'python', 'platform']
List of the sum of characters ASCII values in an input list: [52, 209, 98, 101]
方法2:使用列表推导,sum()和ord()函数
列表推导
当你希望基于现有列表的值构建一个新列表时,列表推导提供了一种更短、更简洁的语法。
sum()函数 - 返回可迭代对象中所有项的总和。
步骤
以下是执行所需任务的算法/步骤:
- 使用列表推导遍历字符串列表中的每个字符串。
-
使用嵌套的列表推导遍历字符串的字符。
-
从每个字符的ASCII值中减去基本ASCII值(96)。
-
使用sum()函数获取这些字符的ASCII值的总和。
-
打印输入列表中字符ASCII值的总和列表。
示例
以下程序使用列表推导、sum()和ord()函数返回字符串列表中字符ASCII值的总和 –
# input list
inputList = ["hello", "tutorialspoint", "python", "platform"]
# printing input list
print("Input List:", inputList)
# Traversing in the given list of strings (input list)
# Using nested list comprehension to traverse through the characters of the string
# Calculating resulting ASCII values and getting the sum using sum() function
resultList = [sum([ord(element) - 96 for element in i]) for i in inputList]
# printing list of the sum of characters ASCII values in an input list
print("List of the sum of characters ASCII values in an input list:\n", resultList)
输出
在执行上面的程序时,将会生成以下输出 –
Input List: ['hello', 'tutorialspoint', 'python', 'platform']
List of the sum of characters ASCII values in an input list:
[52, 209, 98, 101]
结论
在本文中,我们学习了如何使用两种不同的方法来计算字符串列表中字符的ASCII值的总和。此外,我们还学习了如何使用嵌套列表理解而不是嵌套循环。另外,我们还学习了如何使用ord()方法来获取一个字符的ASCII值。