Python基础:字典(dict)、集合(set)

在Python中,字典用花括号{}中的一系列键——值对表示。键-值对是无序的,这意味着你不能通过索引来访问它,必须通过键值来访问、修改和删除。

>>> alien_0={'color':'green','age':5}
>>> print (alien_0['color'])
green
>>> del alien_0['color']
>>> print (alien_0)
{'age': 5}

需要多行来定义字典时,推荐的格式:

在输入左花括号后按回车键,再在下一行缩进四个空格,指定第一个键值对,并在它后面加一个逗号。此后你再次按回车键时,文本编辑器将自动缩进后续键值对,且缩进量与第一个键值对相同。

定义好字典后,在最后一个键值对的下一行添加一个右花括号,并缩进四个空格,使其与字典中的键对齐。另外一种不错的做法是在最后一个键值对后面也加上逗号,为以后在下一行添加键值对做好准备。

alien_0={
	'color':'green',
	'age':5,
	}

较长的print语句可以利用+号分行。

>>> alien_0={
...     'color':'green',
...     'age':5,
...     }
>>> print ("Sarah's favorite color is " +
...     alien_0['color'].title() +
...     '.')
Sarah's favorite color is Green.

遍历字典

方法items()返回键值对列表,可通过for循环访问它们

>>> alien_0={
...     'color':'green',
...     'age':5,
...     }
>>> for key, value in alien_0.items():
...     print("\nKey: "+key)
...     print("Value: "+str(value))
...

Key: color
Value: green

Key: age
Value: 5

此外,还有方法keys()可以获取所有键,方法values()可以获取所有值。

集合(set)类似于列表,但每个元素都是独一无二的。

因为键值是无序的,当你想要以特定顺序遍历字典时,可使用sorted函数来对键进行临时排序;当你需要没有重复元素的列表时,可以调用set()对列表去重复,并返回使用这些元素创建的集合。

>>> favorite_languages = {
...     'jen': 'python',
...     'sarah': 'c',
...     'edward': 'ruby',
...     'phil': 'python',
...     }
>>> for name in sorted(favorite_languages.keys()):
...     print(name.title() + ", thank you for taking the poll.")
...
Edward, thank you for taking the poll.
Jen, thank you for taking the poll.
Phil, thank you for taking the poll.
Sarah, thank you for taking the poll.
>>> print("The following languages have been mentioned:")
The following languages have been mentioned:
>>> for language in set(favorite_languages.values()):
...     print(language.title())
...
Python
C
Ruby
>>> languages=set(favorite_languages.values())
>>> print (languages)
set(['python', 'c', 'ruby'])

嵌套

通过在列表中嵌套字典或列表、字典中嵌套列表或字典等可以找到更简单的问题解决方案。


  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值