lists,tuples and sets of Python
(python2.7.x)
Lists 列表
? ? ? 列表是一個有序序列(集合),可變的(可以修改),可以理解為其他語言中的數(shù)組類型,但是列表更靈活更強大。
? ? ? 列表由方括號[]來定義的,它的元素可以是任意類型或對象,一個列表中可以包含混合元素。
? ? ? 例:
? ? ? x = [] ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 創(chuàng)建空列表
? ? ? x = [1, 2] ? ?x = ['a', 'b'] ? x = [[1, 2]] ? x = [{1, 2}] ? 創(chuàng)建列表,它的元素可是任意類型或對象
? ? ? x = [1, 'ab', [1, 2], {1, 2},{1:1, 2:2}] ? ? ? ? ? ? ? ? ? ? ? ?創(chuàng)建列表,一個列表中有混合元素
?
? ? ? 列表訪問可以通過切片或索引來訪問,索引值也是從0開始,不同于其他語言數(shù)據(jù)的時,列表索引可以是負數(shù),-1表示最后一個元素。
? ? ? x = ['a', 'b', 'c']
| x = [ | 'a' | 'b' | 'c' | ] |
| 正索引 | 0 | 1 | 2 | ? |
| 負索引 | -3 | -2 | -1 | ? |
?
?
?
? ? ? ? 索引不能大于最大正索引,不能小于最小負索引,否則會報列表索引超出范圍錯誤:IndexError: list index out of range
? ? ? ? 切片[index1:index2:step],從索引index1開始(包含index1)到索引index2(不包含index2),步長step(元素的間距),這三個參數(shù)都是可選的
Tuples 元組
? ? ?元組跟列表很相似,但是不可變(不能修改,只能創(chuàng)建)。元組是由()括號來創(chuàng)建的
? ? ?例:
? ? ?x = (1, 2, 3)
? ? ?x[1] = 5 ? 因元組不可變的序列,這樣操作會報錯:TypeError: 'tuple' object does not support item assignment
? ? ?注意:單元組就是元組只有一個元素時,需在元素后加個英文半角逗號”,“,否則創(chuàng)建的將不是元組
? ? ?例:
? ? ?>>x = (1)
? ? ?>>x
? ? ?1 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?這樣創(chuàng)建的不是元組,只是一個附值操作
? ? ?>>type(x)
? ? ?<type 'int'> ? ? ? ? ? ? ? ? 這樣創(chuàng)建的不是元組,只是一個附值操作
? ? ?>>x = (1,)
? ? ?>>x
? ? ?(1,)
? ? ?>>type(x)
? ? ?<type 'tuple'>
? ? ?>>x = () ? ? ? ? ? ? ? ? ? ? ?空元組的創(chuàng)建,這樣是合法的
? ? ?>>x
? ? ?()
? ? ?>>type(x)
? ? ?<type 'tuple'>
?
Sets 集合
? ? 集合對象是一組無序排列元素組成。集合有兩種不同的類型:可變集合(set)、不可變集合(frozenset)。
? ? 可變集合:可以添加和刪除元素,它不是可哈希的,因此不能用做字典的鍵也不能做其他集合中的元素。
? ? 不可變集合:與可變集合相反,不可修改,有哈希值,可用做字典的鍵或作為集合中的一個成員。
? ? 集合的創(chuàng)建:
? ? >>set('hypo')
? ? set(['h', 'y', 'p', 'o'])
? ? >>frozenset('hypo')
? ? frozenset(['h', 'y', 'p', 'o'])
轉載于:https://www.cnblogs.com/hypo106/p/4154837.html
總結
以上是生活随笔為你收集整理的lists,tuples and sets of Python的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 12道锋味第5集讲的什么故事?
- 下一篇: 大数计算