集合遍历python_Python 集合遍历

集合遍历python_Python 集合遍历1 set 集合可变集合 set 可添加和删除元素 非可哈希的 不能用作字典的键 也不能做其他集合的元素不可变集合 frozenset 与上面恰恰相反 Paste Image png 创建集合 gt gt gt s set beginman gt gt gt sset a b e g i m n gt gt gt t fr

1.set集合

可变集合(set):可添加和删除元素,非可哈希的,不能用作字典的键,也不能做其他集合的元素

不可变集合(frozenset):与上面恰恰相反

6b0a1011ef63?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

Paste_Image.png

创建集合

>>> s = set(‘beginman’)

>>> s

set([‘a’, ‘b’, ‘e’, ‘g’, ‘i’, ‘m’, ‘n’])

>>> t = frozenset(‘pythonman’)

>>> t

frozenset([‘a’, ‘h’, ‘m’, ‘o’, ‘n’, ‘p’, ‘t’, ‘y’])

>>> type(s),type(t)

(, )

>>> len(s),len(t)

(7, 8)

>>> s==t

False

>>> s=t

>>> s==t

True

>>>

访问集合

>>> ‘a’ in s

True

>>> ‘z’ in s

False

>>> for i in s:

print i

更新集合

可使用以下内建方法来更新:

s.add()s.update()s.remove()

注意只有可变集合才能更新:

>>> s.add(0)

Traceback (most recent call last):

File “”, line 1, in

s.add(0)

AttributeError: ‘frozenset’ object has no attribute ‘add’

>>> type(s)

>>> se = set(s)

>>> se

set([‘a’, ‘h’, ‘m’, ‘o’, ‘n’, ‘p’, ‘t’, ‘y’])

>>> type(se)

>>> se.add(0)

>>> se

set([‘a’, 0, ‘h’, ‘m’, ‘o’, ‘n’, ‘p’, ‘t’, ‘y’])

>>> se.update(‘MM’)

>>> se

set([‘a’, 0, ‘h’, ‘m’, ‘o’, ‘n’, ‘p’, ‘M’, ‘t’, ‘y’])

>>> se.update(‘Django’)

>>> se

set([‘a’, 0, ‘D’, ‘g’, ‘h’, ‘j’, ‘m’, ‘o’, ‘n’, ‘p’, ‘M’, ‘t’, ‘y’])

>>> se.remove(‘D’)

>>> se

set([‘a’, 0, ‘g’, ‘h’, ‘j’, ‘m’, ‘o’, ‘n’, ‘p’, ‘M’, ‘t’, ‘y’])

>>>

2. dict 集合遍历

#!/usr/bin/python

dict={“a”:”apple”,”b”:”banana”,”o”:”orange”}

print “dict#”

for i in dict:

print (“dict[%s]=” % i,dict[i])

print “items”

for (k,v) in dict.items():

print (“dict[%s]=” % k,v)

print “iteritems”

for k,v in dict.iteritems():

print (“dict[%s]=” % k,v)

print “iterkeys,itervalues”

for k,v in zip(dict.iterkeys(),dict.itervalues()):

print (“dict[%s]=” % k,v)

从字典中删除元素

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

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

3.元组

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)

4.列表

列表是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

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/231424.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • oj在计算机领域中指什么,【计算机专业论文】计算机专业教学中OJ平台的应用(共2762字)…

    oj在计算机领域中指什么,【计算机专业论文】计算机专业教学中OJ平台的应用(共2762字)…摘要:传统的教学模式对计算机专业学生的能力培养存在着诸多问题,而OJ(OnlineJudge在线检测程序源代码)平台为计算机教学提供了新的思路,因为OJ平台在学生日常训练方面有一套行之有效的机制,所以对学生的学习兴趣、分析解决问题能力、创新能力等方面的培养都起到了积极的推动作用,OJ平台还可以对学生实践能力进行最直接的考核,因此将OJ平台引入计算机专业教学,可实现以平台促教学,以平台促教改。关键词…

    2022年6月16日
    30
  • Java基础语法(一)褪去Java神秘的衣服,“深入”了解

    Java基础语法(一)褪去Java神秘的衣服,“深入”了解

    2021年4月21日
    506
  • NPS是什么?「建议收藏」

    NPS是什么?「建议收藏」当谈到客户体验管理时,NPS就是一个绕不开的话题。今天就来聊聊NPS落地应用必须了解的8个关键点:一、NPS是什么二、NPS如何计算三、NPS得分如何评估四、NPS如何帮助企业做增长五、如何提升NPS六、NPS问卷设计七、NPS问卷发放八、NPS问卷分析一、NPS是什么NPS(NetPromoterScore),中文名为净推荐值,是客户对品牌/产品的忠诚度得分。由美国贝恩公司FredReichheld(2003)提出,是最流行的顾客忠诚度分析指标,专注于研究客户口碑如何为企业带来良

    2022年6月10日
    41
  • java 打印pdf_java打印pdf文件

    java 打印pdf_java打印pdf文件目录一、Java的打印简介二、Java打印实现2.1JPG图片文件格式打印实现2.2PDF文件格式打印实现2.3Word文件格式打印实现2.3.1Word文件采用jacob插件进行打印实现。2.3.2先将word转化为pdf文件,然后打印pdf(lz使用)三、总结一、Java的打印简介在我们的实际工作中,经常需要实现打印功能。但由于历史原因,Jav…

    2025年9月17日
    5
  • html空格代码_html中空格怎么表示

    html空格代码_html中空格怎么表示html中空格代码的写法一:&nbsp(不换行空格)html中空格代码的写法二:&ensp(半角空格)html中空格代码的写法三:&emsp(全角空格)html中空格代码的写法四:&thinsp(窄空格)html中空格代码的写法五:&zwnj(零宽不连字)说明:&zwnj是一个不打印字符,放在电子文本的两个字符之间,抑制本来会发生的连字,而是以这两个字符原本的字形来绘制。html中空格代码的写法六:&zwj(零宽连字)说明:&amp

    2022年9月22日
    3
  • 兼容,原来在这里就已经開始——–Day34

    兼容,原来在这里就已经開始——–Day34

    2022年2月5日
    55

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号