lists,tuples and sets of Python
2014-12-10 10:31
393 查看
(python2.7.x)
Lists 列表
列表是一个有序序列(集合),可变的(可以修改),可以理解为其他语言中的数组类型,但是列表更灵活更强大。列表由方括号[]来定义的,它的元素可以是任意类型或对象,一个列表中可以包含混合元素。
例:
x = [] 创建空列表
x = [1, 2] x = ['a', 'b'] x = [[1, 2]] x = [{1, 2}] 创建列表,它的元素可是任意类型或对象
x = [1, 'ab', [1, 2], {1, 2},{1:1, 2:2}] 创建列表,一个列表中有混合元素
列表访问可以通过切片或索引来访问,索引值也是从0开始,不同于其他语言数据的时,列表索引可以是负数,-1表示最后一个元素。
x = ['a', 'b', 'c']
x = [ | 'a' | 'b' | 'c' | ] |
正索引 | 0 | 1 | 2 | |
负索引 | -3 | -2 | -1 |
切片[index1:index2:step],从索引index1开始(包含index1)到索引index2(不包含index2),步长step(元素的间距),这三个参数都是可选的
Tuples 元组
元组跟列表很相似,但是不可变(不能修改,只能创建)。元组是由()括号来创建的例:
x = (1, 2, 3)
x[1] = 5 因元组不可变的序列,这样操作会报错:TypeError: 'tuple' object does not support item assignment
注意:单元组就是元组只有一个元素时,需在元素后加个英文半角逗号”,“,否则创建的将不是元组
例:
>>x = (1)
>>x
1 这样创建的不是元组,只是一个附值操作
>>type(x)
<type 'int'> 这样创建的不是元组,只是一个附值操作
>>x = (1,)
>>x
(1,)
>>type(x)
<type 'tuple'>
>>x = () 空元组的创建,这样是合法的
>>x
()
>>type(x)
<type 'tuple'>
Sets 集合
集合对象是一组无序排列元素组成。集合有两种不同的类型:可变集合(set)、不可变集合(frozenset)。可变集合:可以添加和删除元素,它不是可哈希的,因此不能用做字典的键也不能做其他集合中的元素。
不可变集合:与可变集合相反,不可修改,有哈希值,可用做字典的键或作为集合中的一个成员。
集合的创建:
>>set('hypo')
set(['h', 'y', 'p', 'o'])
>>frozenset('hypo')
frozenset(['h', 'y', 'p', 'o'])
相关文章推荐
- Python 的Lists、Tuples、Dictionaries和Sets
- The Introduction of SAP China Training and ECC Course Lists [Transshipment]
- Language family tree of Python, Ruby and Lua
- Create screenshots of a web page using Python and QtWebKit | Roland's Blog
- The Light and Dark sides of Python name binding
- Listing of Character Sets FOR 9.2, 9.0.1 and 8.1.7 including Language references
- Ruby Gems, Python Eggs, and the beauty of unittest
- How to install and manage different versions of Python in Linux
- Python 入门教程 11 ---- Lists and Functions
- Leetcode_minimum-depth-of-binary-tree (c++ and python version)
- Files and Strings(Chapter 10 of Python 3 Object Oriented Programming)
- How do I convert between tuples and lists?
- How do I convert between tuples and lists?
- Numbering conventions of strings and bitsets
- [转]Beware of Hot Skills Lists: a JonERP.com Disclaimer and Tips List
- Python: Tuples, Sets, Fractions, Types
- Issue 71 - pymssql - Undefined symbols on Mac, CentOS, Redhat with pre-compiled build - A fast MS SQL Server client library for Python directly using C API instead of ODBC. It is Python DB-API 2.0 compliant. Works on Linux, *BSD, Solaris, Mac OS X and Win
- Use Module and Function instead of Class in Python
- **Leetcode_median-of-two-sorted-arrays (c++ and python version)
- Python 入门教程 8 ---- Python Lists and Dictionaries