【python学习】列表、元组和字符串

一、列表

列表类似C语言中的数组。用方括号表示,通过函数list()可返回列表类型。不同于C语言,python中的列表非常灵活,不必事先指定类型,可以随机应变。如:

alist = list()	#创建了一个空列表,并赋予alist的名字

>>>alist
[]

alist = [0, "hello", 23, "123"]	#alist现在指向的列表为[0, "hello", 23, "123"],其中有字符串也有整数
>>> alist
[0, 'hello', 23, '123']

练习题

1、列表操作练习
列表lst内容如下lst = [2,5,6,7,8,9,2,9,9],请写程序完成下列操作:

  • 在列表的末尾增加元素15
  • 在列表的中间位置插入元素20
  • 将列表[2, 5, 6]合并到lst中
  • 移除列表中索引为3的元素
  • 翻转列表里的所有元素
  • 对列表里的元素进行排序,从小到大一次,从大到小一次

分析:主要考察列表的基本操作,代码如下:

lst = [2,5,6,7,8,9,2,9,9]	#初始化列表

lst.append(15)	#列表的末尾增加元素15
lst.insert(len(lst) // 2, 20)	#在列表的中间位置插入元素20,其中len(lst)取表长
lst.extend([2, 5, 6])	#将列表[2, 5, 6]合并到lst中 
del lst[3:4]	#移除列表中索引为3的元素
lst.reverse()	#翻转列表里的所有元素

lst.sort()	#从小到大排序
lst.sort(reverse = True)	#从大到小排序
#最终结果:
#>>> lst
#[20, 15, 9, 9, 9, 8, 6, 6, 5, 5, 2, 2, 2]

2.修改列表
问题描述:lst = [1, [4, 6], True] ,请将列表里所有数字修改成原来的两倍

分析:考查列表的索引方式,代码如下:

lst[0] *= 2
lst[1][0] *= 2
lst[1][1] *= 2

#result:
#>>> lst
#[2, [8, 12], True]

二、元祖

元祖可以理解为不能修改的列表,用圆括号表示,如:

tt = tuple()	#创建了一个空列表,并赋予tt的名字,此后不能再添加元素了
>>>tt
[]

tt = (0, "hello", 23, "123")	#tt现在指向的元祖为(0, "hello", 23, "123"),其中有字符串也有整数
#注意是圆括号

>>> tt
(0, 'hello', 23, '123')

tt[0] = 1	#注意此句会报错,元祖创建好后不能修改

注意:

  • 元祖中只包含一个元素时,需要在括号后面加逗号,否则会被当做运算符使用
  • 元祖虽然不可更改,但若其中的元素是可变类型(列表、字典等),则可修改该部分

练习题

1、元组概念
写出下面代码的执行结果和最终结果的类型。分析为什么会出现这样的结果。

  • (1, 2)*2
  • (1, )*2
  • (1)*2
>>> (1, 2)*2
(1, 2, 1, 2)	#重复元祖

>>> (1, )*2
(1, 1)	#重复元祖,该元祖只有一个元素 --> 1

>>> (1)*2
2	#普通的乘法运算

三、字符串

(未完待续。。。)

你可能感兴趣的:(python,列表)