python -- 数据容器入门

一、列表

my_list = list[1,'hello','孙悟空','猪八戒','唐僧','唐僧']
#嵌套列表
#my_list = list[[1,'hello','孙悟空','猪八戒','唐僧','唐僧'],['蝴蝶','鹦鹉']]

1.元素不受限
可以是字符串、列表、数字、布尔值、列表、字典等
2.允许有重复数据
3.有顺序的

取数据:my_list[0] 
取最后一个数据:list[-1] 
查看hello所在的索引位置:my_list.index('hello') 
嵌套列表取里面列表的元素:list[0][1]

4.增删改查
增:

尾部增加:my_list.append('追加元素')
尾部增加一批元素:my_list.extend(['追加元素1','追加元素2','追加元素3']) 
指定的位置增加:my_list(1,'增加数据')

删:

通过del删索引:del my_list[2]
通过pop去除索引对应的元素,可以返回数据:my_list.pop(1)
通过remove移出具体元素:my_list.remove('移出元素')
清空元素:my_list.clear()

改:

my_list[2] = '改掉名字'

4.统计元素的数量:

某个元素的个数:my_list.count('hello这个元素的数量')
列表有多少个元素:len(my_list)

5.遍历列表:

for element in my_list:
	print(element)

二、元祖

my_tuple = tuple(1,'hello','孙悟空','猪八戒','唐僧','唐僧')
#嵌套元祖
#my_tuple = tuple(1,'hello','孙悟空','猪八戒','唐僧','唐僧',[1,2])

1.元素不受限,只有一个元素的时候要在元素后写上一个逗号
2.允许有重复数据
3.有顺序的

嵌套元祖取里面列表的元素:my_tuple[0][1]
查找元素的索引:my_tuple.index('hello')

4.不可修改,但是元祖里面的列表元素是可以修改的:

my_tuple[1][0] = '改掉列表的元素'

5.统计元素的数量:

某个元素的个数:my_tuple.count('hello这个元素的数量')
列表有多少个元素:len(my_tuple)

6.遍历元祖:

for element in my_tuple:
	print(element)

元祖和列表唯一不同的是: 元祖本身不可修改,元组是不可以修改的列表

三、集合

my_set = {1,'hello','孙悟空','猪八戒','唐僧'}
#嵌套集合
#my_set = {1,'hello','孙悟空','猪八戒','唐僧',[1,2]}

1.不允许有重复数据
2.无顺序的,不支持下标索引访问,不可以查询和改
3.增删:
增:

my_set.add('元素')

删:

删除具体的元素:my_set.remove('元素') 
随机取出一个元素:my_set.pop()
清空集合:my_set.clear()

4.集合元素数量:

len(my_set)

5.遍历集合(集合没有下标索引不支持while循环):

for element in my_set:
	print(element)

6.取2个集合的差集

取set1有set2没有的:set1.difference(set2)

7.删除set1里面和set2一样的数据:

set1.difference_update(set2)

8.集合并集:

set1.union(set2)

四、字典

my_dict = {'孙悟空':185,'猪八戒':175,'唐僧':165}
#嵌套字典
#my_dict = {'孙悟空':{'语文':50,'数学':60},'猪八戒':{'语文':70,'数学':80},'唐僧':{'语文':80,'数学':90}}

键值对的形式存储
1.key不可以重复,否则覆盖已有的key
2.有序
3.没有下标索引,用key去取值

my_dict[key]
嵌套字典:my_dict[key][key]

4.增删改
增:

my_dict[key1] = '值1'

删:

删除具体的元素:my_dict.pop(key)
清空:my_dict.clear()

改:

my_dict[key1] = '值2'

5.获取全部的key

my_dict.keys()

6.遍历字典(字典没有下标索引不支持while循环):

for key in my_dict:
	print my_dict[key]

7.字典元素数量:

len(my_dict)

五、字符串

my_str = '  hello my name is hi  '
#my_str = '12hello my name is hi21'

1.字符串不可以修改
2.有序的
索引取值

my_str[1]  
my_str[-16]

查看索引

my_str.index('hello')

3.replace 替换,原本的字符串内容不会改变

new_str = my_str.replace('替换前字符','替换后字符')

4.splite 分割,原本的字符串内容不会改变

new_str = my_str.splite(' ')`# 通过空格切分

5.strip,原本的字符串内容不会改变
去除首尾空格:

new_str = my_str.strip()

去除首尾内容:

new_str = my_str.strip('12')`# 首部12和尾部21都会被去掉

6.统计次数

my_str.count('it')

7.长度

len(my_str)

8.遍历:

for i in my_str:
	print(i)

总结区别

1.是否支持下标索引
•支持:列表、元组、字符串
•不支持:集合、字典
2.是否支持重复元素:
•支持:列表、元组、字符串
•不支持:集合、字典
3.是否可以修改
•支持:列表、集合、字典
•不支持:元组、字符串

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