Python学习(四) Python数据类型:序列(重要)

时间:2021-12-12 13:20:07

  

插播一下,先了解一下Python的数据类型,Python现有的数据类型有好多,最重要的有列表、元组、字典

    列表:我觉得可以对应java中的数组

      list=['physics', 'chemistry', 1997, 2000];
      nums=[1, 3, 5, 7, 8, 13, 20];

    元组:

      Python的元组与列表类似,不同之处在于元组的元素不能修改;元组使用小括号(),列表使用方括号[];

      元组创建很简单,只需要在括号中添加元素,并使用逗号(,)隔开即可。如:    

      tup1 = ('physics', 'chemistry', 1997, 2000);
      tup2 = (1, 2, 3, 4, 5 );
      tup3 = "a", "b", "c", "d";

    字典:

        字典(dictionary)是除列表之外python中最灵活的内置数据结构类型。列表是有序的对象结合,字典是无序的对象集合。

        两者之间的区别在于:字典当中的元素是通过键来存取的,而不是通过偏移存取。

        字典由键和对应的值组成。字典也被称作关联数组或哈希表。基本语法如下:

dict = {'Alice': '2341', 'Beth': '9102', 'Cecil': '3258'};

        也可如此创建字典:

dict1 = { 'abc': 456 };
dict2 = { 'abc': 123, 98.6: 37 };

每个键与值必须用冒号隔开(:),每对用逗号分割,整体放在花括号中({})。键必须独一无二,但值则不必;值可以取任何数据类型,但必须是不可变的,如字符串,数或元组。

  

  列表、元组和字符串都是序列。

  序列可以通过索引获取相应的值,也可以通过切片获取序列的一段切片。

  序列的基本操作:

    1、len()

    2、+

    3、*

    4、max()

    5、min()

    6、cmp(str1,str2)

    7、in

  示例代码如下:

 str1='abcdefg'
len(str1)
//7
str2=''
str1+str2
//'abcdefg12345'
str1*3
//'abcdefgabcdefgabcdefg'
max(str1)
//g
min(str2)
//1
cmp(str1,str2)
//1
'a' in str1
//True

  元组和列表十分相似,只不过元组跟字符串一样是不可变的。即不可以改变它的值。

  元组通过()进行定义,如t=('tom',30,'male'),取元组的值可以通过下标,如t[1],则输出30.

  创建一个空元组

    empty_tuple=()

  创建一个单一元组

    single_tuple=(2,) 一定要记得必须有,号,否则不是单一元组了。

  一般元组

    simple_tuple=('tom',20,'male')

    tuple=('jack','luck',simple_tuple)

  type(simple_tuple) 输出<type 'tuple'>

  可以这样赋值:

  name,age,sex=simple_tuple

  name // 'tom'

  另外元组是不可以修改的,如果执行simple_tuple[1]=31则会报错"TypeError: 'tuple' object does not support item assignment"

  http://www.icoolxue.com/play/1922  第7课 列表