【问题标题】:Beginner to python: Lists, Tuples, Dictionaries, Sets [duplicate]python初学者:列表、元组、字典、集合[重复]
【发布时间】:2020-07-03 05:03:05
【问题描述】:

我一直试图了解列表、元组、字典和集合之间的区别。我所能收集到的只是他们使用不同的括号或大括号。 () {} []。有些可以事后更改,有些则不能。请用最简单的术语解释它们有什么区别,以及您将如何实际使用它们。

【问题讨论】:

  • 哦,那很奇怪,当我去搜索栏寻找“集合,元组”时,我没有看到那个搜索结果。谢谢!如果我看到那个帖子,我就不会做这个了。
  • 没问题,您可以使用 google/duckduckgo 解决您的问题,并在开始或结束时添加 stackoverflow,您将获得与您的问题相关的良好结果

标签: python


【解决方案1】:

列表和元组类似于动态数组,其中列表是可变的,但元组不是。 您可以查看列表和元组的文档https://docs.python.org/3.8/library/stdtypes.html#sequence-types-list-tuple-range

集合是对象的无序集合。 文档链接:https://docs.python.org/3.8/library/stdtypes.html#set-types-set-frozenset

字典将可散列值映射到任意对象。映射是可变对象。 文档链接:https://docs.python.org/3.8/library/stdtypes.html#mapping-types-dict

【讨论】:

  • 感谢您提供这些链接,我仍在努力理解术语,所以看到人们用不同的词解释它确实有助于巩固含义。
【解决方案2】:
  1. List :用于存储项目。也可以存储副本。存储顺序将保持不变。它是可变的,这意味着可以在创建后更改相同的对象。 示例:

    list1 = ['one',2,3.4,'hello']
    print(list1)
    print(list1[3])
    list1[1]=2 #allowed
    print(list1)
    

    回答

        'one', 2, 3.4, 'hello']
        hello
        [2, 2, 3.4, 'hello']
    
  2. 设置:就像列表一样。唯一的区别是它不能存储重复的值。也不会有存储值的顺序。

例子:

>>>#set of integers
>>>s = {1, 2, 3}
>>>print(s)
{1, 2, 3}
>>>#print type of s 
>>>print(type(s))
<class 'set'>
>>> x = set(['foo', 'bar', 'baz', 'foo', 'qux'])
>>> x
{'qux', 'foo', 'bar', 'baz'}
  1. 字典:字典基本上是一种存储类型,您可以在其中存储与键对应的值,就像现实生活中的字典一样。

例子:

>>>dictval = {"Nishant":1,"Akash":2,"Ravi":3,"Hari":4}
>>>print(dictval)
{'Nishant': 1, 'Akash': 2, 'Ravi': 3, 'Hari': 4}
>>>print(dictval["Akash"])
2
  1. 元组:元组是一个值序列,很像一个列表。存储在元组中的值可以是任何类型,并且它们由整数索引。重要的区别是元组是不可变的。元组的元素一旦分配就不能更改,而在列表中,元素可以更改。

例子:

>>>#tuple with mixed datatypes
>>>t = (1, 'raju', 28, 'abc')
>>>print(t)
>>>print(t[1])
(1, 'raju', 28, 'abc')
raju

>>>t = (1, 'raju', 28, 'abc')
>>>print(t)
>>>print(t[3])
>>>t[3] = 'def'
(1, 'raju', 28, 'abc')
abc
---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
<ipython-input-27-254e32ad7a3c> in <module>()
      2 print(t)
      3 print(t[3])
----> 4 t[3] = 'def'
TypeError: 'tuple' object does not support item assignment

【讨论】:

  • 谢谢!这更有意义。需要明确的是,我做了研究示例和定义,但没有任何反应。我只需要看到它以不同的方式表达。
  • 哈哈当然。我认为这可能对您有所帮助。如果是,您可以投票。祝你有美好的一天。 :)
  • 点赞!说我还没有足够的声望点来显示它。将确保尽快显示。
  • 哦,好的,没问题。欢迎来到 StackOverflow。继续发布问题。 @coffeerinkerman
猜你喜欢
  • 1970-01-01
  • 2016-06-14
  • 2019-05-30
  • 1970-01-01
  • 1970-01-01
  • 2020-06-28
  • 1970-01-01
  • 2020-03-03
  • 2016-04-27
相关资源
最近更新 更多