python字典和集合对象可以进行索引_python:可迭代对象的索引

本文介绍了Python的`range`函数使用,强调其表示的是半开区间[开始, 结束)。通过示例展示了遍历字符串、列表、元组的索引操作,并指出集合和字典不支持索引。同时,解释了`Iterable`类型检查以及有序字典的特性。
摘要由CSDN通过智能技术生成

关于 python的range的用法: 注意是[ 开始,结束)的半开区间,不包括结束

http://www.runoob.com/python/python-func-range.html

import collections

from collections import Iterable

字符串 = "一二三四五六七八九十"

for i in range(-1, -11, -1):

print('第', i, '个是:', 字符串[i], end=' ')

print()

for i in range(0, 10, 1):

print(字符串[i], end=' ')

print()

列表 = ['一', '二', '三', '四', '五', '六', '七', '八', '九', '十']

for i in range(-1, -11, -1):

print(列表[i], end=' ')

print()

for i in range(0, 10, 1):

print(列表[i], end=' ')

print()

元组 = ('一', '二', '三', '四', '五', '六', '七', '八', '九', '十')

for i in range(-1, -11, -1):

print(元组[i], end=' ')

print()

for i in range(0, 10, 1):

print(元组[i], end=' ')

print()

集合 = set()

字典 = dict()

集合.add('1')

集合.add(1)

字典['Key0'] = '0000'

字典['Key1'] = '1111'

print(isinstance(字符串, Iterable), type(字符串))

print(isinstance(列表, Iterable), type(列表))

print(isinstance(元组, Iterable), type(元组))

print(isinstance(集合, Iterable), type(集合))

print(isinstance(字典, Iterable), type(字典))

#然而......

try:

for i in range(0, len(集合)):

print(集合[i], end=' ')

print()

except Exception as e:

print(e)

try:

for i in range(0, len(字典)):

print(字典[i], end=' ') #注意,字典[]方括号里面是键值,不是indexing!

print()

except Exception as e:

print(e)

有序字典 = collections.OrderedDict()

有序字典['0'] = '0' #注意不要把key设置成int的0,会混淆下面的输出,让你误认为字典的[key]取value是indexing

有序字典['1'] = '1'

有序字典['2'] = '2'

有序字典['3'] = '3'

print(有序字典)

try:

for i in range(len(有序字典)):

print(有序字典[i])

except Exception as e:

print(e)

结果是:

所以,字符串,元组,列表这些有序可迭代对象是支持index的,而集合和字典是不支持index的.

第 -1 个是: 十 第 -2 个是: 九 第 -3 个是: 八 第 -4 个是: 七 第 -5 个是: 六 第 -6 个是: 五 第 -7 个是: 四 第 -8 个是: 三 第 -9 个是: 二 第 -10 个是: 一

一 二 三 四 五 六 七 八 九 十

十 九 八 七 六 五 四 三 二 一

一 二 三 四 五 六 七 八 九 十

十 九 八 七 六 五 四 三 二 一

一 二 三 四 五 六 七 八 九 十

True

True

True

True

True

'set' object does not support indexing

0

OrderedDict([('0', '0'), ('1', '1'), ('2', '2'), ('3', '3')])

0

Process finished with exit code 0

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值