Python 元组、列表、字典和集合

元组

Python中的元组(Tuple)类似于Java中的数组,一旦创建了一个 tuple,就不能以任何方式改变它。这点与Python中的字符串类似,所以我们说元组和字符串都是不可变的序列.元组也支持索引和分片操作.

定义一个元组使用一对小(圆)括号” ( ) “.

#定义一个元组
tuple1 = (1, 2, ‘3‘, 4, ‘5‘)

# 定义了一个元组之后就无法再添加或修改元组中的元素

print tuple1[0]    # 元组的元素都有确定的顺序。元组的索引也是以0为基点的
print tuple1[-1]   # 负的索引从元组的尾部开始计数
print tuple1[1:3]  # 元组也可以进行切片操作。对元组切片可以得到新的元组。

# 可以使用 in 运算符检查某元素是否存在于元组中。
print 1 in tuple1   # True

#使用for in 进行遍历元组
for item in tuple1:
    print item

# 如果需要获取item的序号 可以使用下面的遍历方法:
for index in range(len(tuple1)):
    print tuple1[index]

# 还可以使用内置的enumerate函数
for index, item in enumerate(tuple1):
    print ‘%i, %s‘ % (index, item)

列表

列表是Python中最具灵活性的有序集合对象类型,与字符串不同的是,列表可以包含任何种类的对象:数字,字符串,甚至是其他列表.并且列表都是可变对象,它支持在原处修改的操作.也可以通过指定的索引和分片获取元素.列表就可元组的可变版本.

定义一个列表使用一对中(方)括号” [ ] “.与元组不同的是, 列表有一些内置的函数对列表进行增加,修改和删除等操作.

#定义一个列表
listA = [‘a‘, ‘b‘, ‘c‘, 1, 2]

# 向 list 中增加元素

# 1.使用append   向 list 的末尾追加单个元素。
listA.append(3)

# 2.使用 insert  将单个元素插入到 list 中。数值参数是插入点的索引
listA.insert(3, ‘d‘) # 在下标为3处添加一个元素

# 3.使用 extend 用来连接 list
listA.extend([7, 8])

###  extend 和 append 看起来类似,但实际上完全不同。
### extend 接受一个参数,这个参数总是一个 list,
### 并且把这个 list 中的每个元素添加到原 list 中。
### 另一方面,append 接受一个参数,这个参数可以是任何数据类型,并且简单地追加到 list 的尾部。

# 获取列表的长度
print len(listA)  # 9

# 在 list 中搜索
listA.index(3)  # index 在 list 中查找一个值的首次出现并返回索引值。

listA.index(‘100‘)  # 如果在 list 中没有找到值,Python 会引发一个异常。

print 5 in listA  # 要测试一个值是否在 list 内,使用 in。如果值存在,它返回 True,否则返为 False 。

# 从 list 中删除元素

listA.remove(3)  # remove 从 list 中 仅仅 删除一个值的首次出现。如果在 list 中没有找到值,Python 会引发一个异常

print listA.pop()  # pop 它会做两件事:删除 list 的最后一个元素,然后返回删除元素的值。

# 遍历list
for item in listA:
    print item

字典

字典(Dictionary) 是 Python 的内置数据类型之一,它定义了键和值之间一对一的关系,但它们是以无序的方式储存的。 Python 中的 dictionary 像 Java 中的 Hashtable 类的实例。

定义 Dictionary 使用一对大(花)括号” { } ”

# 定义一个字典
# Dictionary 不只是用于存储字符串。Dictionary 的值可以是任意数据类型,
# 包括字符串、整数、对象,甚至其它的 dictionary。
# 在单个 dictionary 里,dictionary 的值并不需要全都是同一数据类型,可以根据需要混用和匹配。
dict1 = {‘name‘ : ‘LiuZhichao‘, ‘age‘ : 24, ‘sex‘ : ‘Male‘}

dict1[‘name‘] = ‘Liuzc‘ # 为一个已经存在的 dictionary key 赋值,将简单覆盖原有的值。

dict1[‘Age‘] = 25 # 在 Python 中是区分大小写的  age和Age是完全不同的两个key

# 从字典中删除元素
del dict1[‘sex‘]  # del 允许您使用 key 从一个 dictionary 中删除独立的元素

dict1.clear()  # clear 从一个 dictionary 中清除所有元素

集合

Python的集合(set)和其他语言类似, 是一个无序不重复元素集, 基本功能包括关系测试和消除重复元素. 集合对象还支持union(联合), intersection(交), difference(差)和sysmmetric difference(对称差集)等数学运算.由于集合是无序的,所以,sets 不支持 索引, 分片, 或其它类序列(sequence-like)的操作。

集合也存在不可变形式,frozenset为固定集合.

#定义一个集合
set1 = {1, 2, 3, 4, 5}

# 或者使用 set 函数

list1 = [6, 7, 7, 8, 8, 9]

set2 = set(list1)

set2.add(10)  # 添加新元素

print set2  # set([8, 9, 6, 7])  去掉重复内容,而且是无序的

set3 = frozenset(list1)

set3.add(10)  # 固定集合不能添加元素

### 集合有并集,交集,求差操作
### 并集:intersection() 方法返回一个新集合,包含在两个集合中同时出现的所有元素。
### 交集:union() 方法返回一个新集合,包含在两个 集合中出现的元素。
### 差集:difference() 方法返回的新集合中,包含所有在 集合A出现但未在集合B中的元素。
### symmetric_difference() 方法返回一个新集合,包含所有只在其中一个集合中出现的元素。

# 删除元素
set2.discard(6)   # 当元素不存在时,不会引发异常
set2.remove(6)    # 与discard的区别在于,如果没有要删除的元素,remove会引发一个异常
set2.pop()  # 因为set是无序的,所以pop会随机的从set中删除一个元素
时间: 2024-07-30 10:13:27

Python 元组、列表、字典和集合的相关文章

python 元组 列表 字典基础分析:

一.元组 1.元组的定义,创建 tuple = ('apple','banana','grange','orange','anguo','c++') 注:该元组由6个元素组成,元素之间用逗号隔开. tuple = ('apple',) 注:一个元素后面跟一个逗号 2.元组的访问 (1)索引是一对方括号中的数字,索引也称"下标" tuple = ('apple','banana','grange','orange','anguo','c++') print(tuple[1]) print

Python 元组、字典、集合操作总结

元组 a=('a',) a=('a','b') 特点 有序 不可变,不可以修改元组的值,无法为元组增加或者删除元素 元组的创建 a=('a',) a=('a','b') tuple('abcd') 转化为元组 tuple(i for i in range(10)) 生成器推导式转化为元组,生成器推导式产生的生成器对象只能遍历一次 g=( i for i in range(10)) next(g) 单步迭代生成器对象 for i in g: print(i,end='') 直接迭代生成器对象 a=

python基础知识——基本的数据类型2——列表,元组,字典,集合

磨人的小妖精们啊!终于可以归置下自己的大脑啦,在这里我要把--整型,长整型,浮点型,字符串,列表,元组,字典,集合,这几个知识点特别多的东西,统一的捯饬捯饬,不然一直脑袋里面乱乱的. 一.列表 1.列表的全部方法 如:['1','2'].['wupeiqi', 'alex'] 1 >>> dir(list) 2 ['__add__', '__class__', '__contains__', '__delattr__', '__delitem__', '__delslice__', '_

Python黑帽编程2.3 字符串、列表、元组、字典和集合

Python黑帽编程2.3  字符串.列表.元组.字典和集合 本节要介绍的是Python里面常用的几种数据结构.通常情况下,声明一个变量只保存一个值是远远不够的,我们需要将一组或多组数据进行存储.查询.排序等操作,本节介绍的Python内置的数据结构可以满足大多数情况下的需求.这一部分的知识点比较多,而且较为零散,需要认真学习. 2.3.1  字符串 字符串是 Python 中最常用的数据类型.我们可以使用引号('或")来创建字符串. 创建字符串很简单,只要为变量分配一个值即可.例如: var1

python列表,元组,字典,集合的比较总结

这四个都是python中的序列,用于存放数据,他们区别总结如下:   列表list 元组tuple 字典dictionary 集合set 是否可变 可变 不可变 可变 可变 是否有序 有序 有序 无序 无序 元素是否重复 可重复 可重复 键不可重复 不可重复 定义符号 [] () {key:value} {} 创建 1.[]直接创建 2.list() 3.列表生成式 1.()直接创建 2.tuple() 1.{}直接创建 2.dict(key1=value1) 3.dict(zip(list1,

列表、元组、字典、集合的相关练习

一.建立学号成绩字典,并进行怎删改操作 s = {'01':'100','02':'99','03':'98','04':'97','05':'96','05':'96','06':'95','07':'98','08':'90','09':'91'} print('成绩表:',s) s.pop('09') print('成绩表:',s) print('主键是:',s.keys()) print('分数是:',s.values()) x = input('输入学号查分数:') print(s.g

组合数据类型练习,英文词频统计实例上列表,元组,字典,集合的遍历。 总结列表,元组,字典,集合的联系与区别。

1.字典实例:建立学生学号成绩字典,做增删改查遍历操作. d={'天':95,'青':78,'色':65,'等':66}print('学生成绩字典:',d)d['烟']=98print('增加:',d)d.pop('等')print('删除:',d)d['天']=78print('修改:',d)print('查询青成绩:',d.get('青','无')) 2.列表,元组,字典,集合的遍历.总结列表,元组,字典,集合的联系与区别. s=list('123456789')t=set('7564231

分别定义字符串,列表,元组,字典,集合,并进行遍历

str='China' for i in str: print(i) s=['C','h','i','n','a',68] for i in s: print(i) tup=('china','chinese',1949,2018) for i in range(len(tup)): print(tup[i]) d={'c':2,'h':3,'i':4} for k,v in d.items(): print(k,v) 总结列表,元组,字典,集合的联系与区别 原文地址:https://www.c

python 元组和字典中元素作为函数调用参数传递

模式1.  def test1(*args): test3(*args) def test2(**kargs): test3(**kargs) def test3(a, b): print(a,b) test1(1,2) test2(a=1,b=2) 模式2.  def test4(a= ()): test6(*a) def test5(b = {}): test6(**b) def test6(a, b): print(a,b) test4((1, 2)) test5({'a':1,'b':2

2.python基础之—列表,元组,字典,集合,字符串的使用方法

一.关于python序列的简介. python里面的序列大部分都可以执行,索引,切片,加,乘,检查长度,以及检查某个成员是否存在,甚至还可以找出这个序列中最小的元素和最大的元素,并且序列都是可迭代的. 解释下个人理解的迭代,迭代(iteration),序列中的迭代就是对序列中的每个元素重复执行某些操作/ 具体的迭代方式后面会说到. 下面就说说python序列的共有特点. 1.索引 一个序列中,所有的元素都有自己的编号,这个编号是从0开始的,这个编号就是所谓的索引,这些元素可以通过索引来依次访问.