【问题标题】:What could be the difference between the following two output code snippets?以下两个输出代码片段之间可能有什么区别?
【发布时间】:2021-04-04 03:17:23
【问题描述】:

对于第一个Output = [3, 8, 7, 9],我提供了手动输入,对于第二个Output = ['3', '8', '7', '9'],我要求提供输入列表。所以,现在我想知道这两个列表有什么区别?

【问题讨论】:

  • 一个列表包含 int 元素。另一个包含字符串元素。我认为这是因为您创建了一个要求输入字符串的 for 循环。是的,您输入了整数,但 python 将它们更改为字符串。 (input("Enter a number")) 我假设
  • 公平,明白..谢谢! :)
  • 请从tour 重复on topicHow to Ask。 “教我这个基本的语言功能”对于 Stack Overflow 来说是题外话。您必须诚实地尝试解决方案,然后就您的实施提出具体问题。 Stack Overflow 无意取代现有的教程和文档。

标签: python list


【解决方案1】:

一个列表包含整数 (int) 值,而另一个包含字符串 (str) 值。整数值可用于数学方程式和数学比较(例如,if x > 0),而字符串值通常用于显示单词或文本,不能用于方程式。例如,如果你有

string_var = "1"
int_var = 1

print(int_var * 2)
print(string_var * 2)

字符串变量(引号内)不能相乘(而是返回11,这显然是不正确的。整数变量相乘成功。字符串在将单词或非数字值保存到变量时更好用. 你可以在线研究更多关于字符串和整数的知识。

【讨论】:

    【解决方案2】:

    正如BuddyBobIII所说,所有第一个列表元素都是ints,指的是Integers,即whole numbers,但第二个是strings,指的是文本元素,不能用于数学运算。

    如果你想把第二个变成整数,你可以使用map函数把一个可迭代变量的所有元素都变成整数:

    a = ['1','2', '3' , '4']
    
    print(list(map(int, a)))
    

    输出

    [1, 2, 3, 4]
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-01-06
      • 1970-01-01
      • 2021-12-17
      • 1970-01-01
      • 2013-03-29
      • 1970-01-01
      • 2018-11-13
      相关资源
      最近更新 更多