在Python程序中找出字符串列表中字符的ASCII值的总和

在Python程序中找出字符串列表中字符的ASCII值的总和

在本篇文章中,我们将学习一个Python程序,找出字符串列表中字符的ASCII值的总和。

使用的方法

以下是完成此任务的各种方法 –

  • 使用for循环,+运算符,ord()函数

  • 使用列表推导,sum(),ord()函数

示例

假设我们已经取了一个包含字符串元素的输入列表。 我们将找到@@

输入

输入列表:['hello', 'tutorialspoint', 'python', 'platform']

输出

[52, 209, 98, 101]

在这里,类似 hello 的每个列表元素的所有字符的ASCII值为 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() 函数(将给定字符的Unicode代码作为数字返回)获取字符的ASCII值,并将其添加到上面的 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)

输出

在执行以上程序时,将生成以下输出 –

输入列表:['hello', 'tutorialspoint', 'python', 'platform']
输入列表中字符ASCII值的总和的列表:[52, 209, 98, 101]

方法2:使用列表推导,sum()和ord()函数

列表推导

当您希望基于现有列表的值来构建新列表时,列表推导提供了更短/简洁的语法。

sum() 函数 – 返回迭代对象中所有项的总和。

算法(步骤)

以下是执行所需任务的算法/步骤 –

  • 使用列表推导式在字符串列表中遍历每个字符串。

  • 使用另一个嵌套的列表推导式来遍历字符串的字符。

  • 从每个字符ASCII值中减去基本ASCII值(96)。

  • 使用sum()函数获得这些字符ASCII值的总和。

  • 打印输入列表中字符ASCII值的总和列表。

示例

以下程序使用列表推导式,sum()和ord()函数返回字符串列表中字符ASCII值的总和 –

#输入列表
inputList = ["hello", "tutorialspoint", "python", "platform"]

#打印输入列表
print("Input List:", inputList)

#在给定的字符串列表(输入列表)中遍历

#使用嵌套的列表推导式遍历字符串的字符

#使用sum()函数计算结果ASCII值并得到总和
resultList = [sum([ord(element) - 96 for element in i]) for i in inputList]

#打印输入列表中字符ASCII值的总和列表
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]

结论

在本文中,我们学习了如何使用2种不同的方法计算字符ASCII值的总和在字符串列表中。此外,我们学习了如何使用嵌套列举推理而不是嵌套循环。此外,我们学习了如何使用ord()方法获取字符的ASCII值。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程