python中列表、元组、字典、集合的使用

一、定义与特性

1、列表:列表是一组有序存储的数据,它的特性包括:(1、和一般的变量一样都有唯一的标识命名称;(2、列表中的元素都是相同类型的;(3、列表元素都有索引和值两个属性,索引从0开始,每个索引都对应一个值;(4、有中括号括起来元素,元素之间有逗号隔开。
2、元组:(1、一经定义内容无法改变;(2、元组元素可以是不同的类型;(3、元组使用圆括号括起来元素。
3、字典:(1、字典是在内存中保存的一组数据结构,每个元素都是有键值对组合而成的;(2、可以通过键找到其对应的值;(3、元素使用花括号括起来。
4、集合:集合特性:集合是由一组无序排列的元素组成,可以分为可变集合(set)和不可变集合(frozenset).可变集合可以添加、删除、修改,不可变集合创建后不能改变。

二、测试代码

#-*-coding: UTF-8 -*-

#一、列表是一组有序存储的数据,它的特性包括:1、和一般的变量一样都有唯一的标识命名称;
# 2、列表中的元素都是相同类型的;3、列表元素都有索引和值两个属性,索引从0开始,每个索引都对应一个值;
#4、有中括号括起来元素,元素之间有逗号隔开。
# list定义
list_t1 = ['I','love','use','python']

# list打印
print(list_t1)

# list获取长度
print('list length:%d'.format(len(list_t1)))

# list访问
print('list访问')
print(list_t1[0])

# list添加
print('list添加')
list_t1.append(', too')
print(list_t1)

# list插入
print('list插入')
list_t1.insert(1,'ISMILELI')
print(list_t1)

# 把一个list添加到另一个list中
print('把一个list添加到另一个list中')
list_t2 = []
list_t2.extend(list_t1)
print(list_t2)

# 合并两个list
print('合并两个list')
list_t3 = list_t1+list_t2

# 删除list中的元素
print('删除list中的元素')
del[list_t2[0]]
print('del list_t2[0]:')
print(list_t2)

# index函数定位列表位置
print('index函数定位列表位置')
print('index %d'.format(list_t1.index('python')))

# 遍历列表
print('遍历列表')
for i in range(len(list_t3)):
    print(list_t3[i])

# 同时遍历列表的索引和对应值
print('同时遍历列表的索引和对应值')
for index,value in enumerate(list_t2):
    print('index: {0} value: {1}'.format(index,value))

# 排序
print('排序')
list_t1.sort()
print(list_t1)
list_t1.reverse()
print(list_t1)

#二、元组特性:1、一经定义内容无法改变;2、元组元素可以是不同的类型;3、元组使用圆括号括起来元素

#元组和列表一样支持索引的访问、获取长度函数len、for和range遍历、for和enumerate遍历等这里不再示例
print('元组和列表一样支持索引的访问、获取长度函数len、for和range遍历、for和enumerate遍历等')

#元组的排序和列表不一样:由于元组的内容是不可以修改的所以它不支持sort()和reverse()排序方法,但是可以将元组先转化为列表排序,
# 然后再把值赋给元组,这样就间接的实现了元组排序。
print('测试元组排序')
tuple_t1 = ('banana','color','apple','dark')
tmp_l1 = list(tuple_t1)
tmp_l1.sort()
tuple_t1 = tuple(tmp_l1)
for index,value in enumerate(tuple_t1):
    print('index:%d value:%s'%(index,value))

# 字典特性:1、字典是在内存中保存的一组数据结构,每个元素都是有键值对组合而成的;2、可以通过键找到其对应的值;3、元素使用花括号括起来。

print('字典测试')
#字典定义
# import json解决使用print直接打印容器中的中文出现'name': '\xe5\xb0\x8f\xe6\x98\x8e'问题,逐个遍历没有此问题,留意下面测试代码,
# 但这种方法字典中的单引号都会被改成双引号,其他解决办法请自行查找.(python之父知道这个问题,拒绝改变!牛人就是任性阿!)
import json
dict1 = {'name':'小明','sex':'girl','age':'18','high':'180'}
dict1_json = json.dumps(dict1,ensure_ascii=False)
print(dict1_json)#下面代码不再处理中文问题

#长度
print('dict1 length is:%d'%(len(dict1)))
#通过键访问元素
print('by key name visit dict value:%s.'%(dict1['name']))
#添加元素
dict1['score'] = '100'
#合并两个字典
dict2 = {'country':'china','city':'BeiJing'}
dict1.update(dict2)
print('merge dict1 and dict2')
print(dict1)
#字典删除
dict1.pop('score')
print('字典删除')
print(dict1)
#判断字典中是否存在元素
if 'score' in dict1:
    print(dict1['score'])
else:
    print('不存在score')

#遍历字典元素
print('遍历字典元素')
for key in dict1.keys():
    print('键:'+key+' 值:'+dict1[key])

print('字典的清空使用dict1.clear().')

#四、集合特性:集合是由一组无序排列的元素组成,可以分为可变集合(set)和不可变集合(frozenset).
# 可变集合可以添加、删除、修改,不可变集合创建后不能改变。
print('集合测试')
#创建集合
s1 = set('python')
print(type(s1))
print(s1)
fs1 = frozenset('python')
print(type(fs1))
print(fs1)

print("获取集合长度:%d"%(len(s1)))

#由于集合的无序性,访问集合只能遍历
print('访问集合只能遍历')
for elem in s1:
    print(elem)

#集合中添加元素add和update
print('集合中添加元素')
s1.add('1')
s2 = set([2,3,4])
s1.update(s2)
print(s1)

print('集合中删除元素使用remove和clear')

#判断元素是否在集合中
if 3 in s1:
    print('3 在集合s1中')
else:
    print('3 不在集合s1中')

#子集与超集
#对于两个集合A和集合B,如果A中每个元素都是集合B的元素,则A是B的子集,B是A的超集。
#判断集合关系的操作符:==、!=、<、<=、>、>=

if s1 != s2:
    if s1

三、测试结果:
python中列表、元组、字典、集合的使用_第1张图片
python中列表、元组、字典、集合的使用_第2张图片
python中列表、元组、字典、集合的使用_第3张图片
python中列表、元组、字典、集合的使用_第4张图片

你可能感兴趣的:(python编程,python列表,元组,字典,集合使用,python打印字典中文问题)