2--Python入门--Python数据集合类型--列表

时间:2022-04-28 14:57:48

在基础数据类型的基础上,Python有6中数据集合的类型:

  1. 列表list,最常用的数据类型,以[]为标识
  2. 元组tuple,和list很相似,但是不能二次赋值,用()标识
  3. 集合set,和list类似,但是set中没有重复的元素,常用于集合间的运算,用{}标识
  4. 字典dict,无序的对象集合,字典中的元素通过关键词key来调用,同样以{}来标识
  5. 数组array,科学计算和代数运算常用的数据类型,在后续numpy库系列详细说明
  6. 数据框dataframe,数据分析处理常用的数据类型,在后续pandas库系列详细说明
print('这里定义了一个列表list——x1,注意到列表x1中的元素是可以不同的,这里由两个数字1和2,一个字符串James,一个列表[1,2,3]这四个元素构成了x1这个列表list。')
x1 = [1,2, 'James', [1,2,3]]
print(x1)

输出:这里定义了一个列表list——x1,注意到列表x1中的元素是可以不同的,这里由两个数字1和2,一个字符串James,一个列表[1,2,3]这四个元素构成了x1这个列表list。

         [1, 2, 'James', [1, 2, 3]]

print('如何来调用列表x1中的某个或者某几个元素呢??\n')   #这里的\n的含义是空一行
print('调用列表x1的第一个元素(注意第一个元素的索引为0):',x1[0])
print('调用列表x1的最后一个元素(注意最后一个元素的索引为-1):',x1[-1])
print('调用列表x1的前2个元素(注意索引的时候右不包含):',x1[:2])

输出:

如何来调用列表x1中的某个或者某几个元素呢??

调用列表x1的第一个元素(注意第一个元素的索引为0): 1
调用列表x1的最后一个元素(注意最后一个元素的索引为-1): [1, 2, 3]
调用列表x1的前2个元素(注意索引的时候右不包含): [1, 2]

这里要说明的是,python下序列(例如数组,列表,元组等)的索引,是从0开始而非从1开始。从左到右索引默认从0开始,从右到左索引默认从-1开始。
一般索引的方式为 序列[索引开始:索引结尾],且要注意python索引是右不包含,即索引结尾对应的元素是不包含在结果中的。
print('关于列表的运算\n')
x2 = ['a','b','c']
print('将两个列表x1和x2拼接起来',x1+x2)
x1.append('新增元素')
print('在列表x1中添加一个元素',x1)
print('将列表x2重复两遍',x2*2)
print('关于列表的运算\n')
x2 = ['a','b','c']
print('将两个列表x1和x2拼接起来',x1+x2)
x1.append('新增元素')
print('在列表x1中添加一个元素',x1)
print('将列表x2重复两遍',x2*2)

输出:

关于列表的运算

将两个列表x1和x2拼接起来 [1, 2, 'James', [1, 2, 3], 'a', 'b', 'c']
在列表x1中添加一个元素 [1, 2, 'James', [1, 2, 3], '新增元素']
将列表x2重复两遍 ['a', 'b', 'c', 'a', 'b', 'c']
'''
append是在列表的末尾添加元素,那如果要在列表中间添加元素怎么做呢?
'''
print('原列表:',x1)
x1.insert(2,1000)
print('在索引2位置添加了新的元素:',x1)

输出:

原列表: [1, 2, 'James', [1, 2, 3], '新增元素']
在索引2位置添加了新的元素: [1, 2, 1000, 'James', [1, 2, 3], '新增元素']
'''
根据索引来删除列表中的元素
'''
print('原列表:',x1)
x1.pop(3)
print('删除索引3上的元素后:',x1)

输出:

原列表: [1, 2, 1000, 'James', [1, 2, 3], '新增元素']
删除索引3上的元素后: [1, 2, 1000, [1, 2, 3], '新增元素']
'''
在列表中添加多个元素
'''
print('原列表:',x1)
x1.extend([0,1,2,3,4,5,6])
print('添加多个元素后:',x1)

输出:

原列表: [1, 2, 1000, [1, 2, 3], '新增元素']
添加多个元素后: [1, 2, 1000, [1, 2, 3], '新增元素', 0, 1, 2, 3, 4, 5, 6]
'''
根据元素值来删除元素
'''
print('原列表:',x1)
x1.remove('新增元素')
print('删除"新增元素"元素后:',x1)

输出:

原列表: [1, 2, 1000, [1, 2, 3], '新增元素', 0, 1, 2, 3, 4, 5, 6]
删除"新增元素"元素后: [1, 2, 1000, [1, 2, 3], 0, 1, 2, 3, 4, 5, 6]
x2 = [1,1,1,1,2,2,2,3,43,4,5,6,4]
print('查看元素1在列表中出现的次数:',x2.count(1))

输出:

查看元素1在列表中出现的次数: 4
print('关于列表的排序\n')
x3 = [-10,-2,1,-100,333,1000]
print('原列表:',x3)
x3.sort()
print('按从小到大排序:',x3)
x3.sort(reverse=True)
print('按从大到小排序:',x3)

输出:

关于列表的排序

原列表: [-10, -2, 1, -100, 333, 1000]
按从小到大排序: [-100, -10, -2, 1, 333, 1000]
按从大到小排序: [1000, 333, 1, -2, -10, -100]