Python 入门教程 8 ---- Python Lists and Dictionaries

简介:  第一节      1 介绍了Python的列表list      2 列表的格式list_name = [item1 , item2],Python的列表和C语言的数组很像      3 列表可以为空,就是empty_list = [...


 第一节

     1 介绍了Python的列表list

     2 列表的格式list_name = [item1 , item2],Python的列表和C语言的数组很像

     3 列表可以为空,就是empty_list = [],比如数组为空

     4 举例

zoo_animals = ["pangolin", "cassowary", "sloth", "dog"];
# One animal is missing!

if len(zoo_animals) > 3:
	print "The first animal at the zoo is the " + zoo_animals[0]
	print "The second animal at the zoo is the " + zoo_animals[1]
	print "The third animal at the zoo is the " + zoo_animals[2]
	print "The fourth animal at the zoo is the " + zoo_animals[3]

 第二节

     1  介绍了我们可以使用下标来访问list的元素,就像数组一样

     2 下标从0开始,比如list_name[0]是第一个元素

     3 练习:输出列表numbers的第二个和第四个数的和

numbers = [5, 6, 7, 8]

print "Adding the numbers at indices 0 and 2..."
print numbers[0] + numbers[2]
print "Adding the numbers at indices 1 and 3..."
# Your code here!
print numbers[1] + numbers[3]


 第三节

     1 介绍了我们可以使用下标来对第几个元素进行赋值

     2 比如lisy_name[2] = 2,就是把列表的第三个值赋值为2

     3 练习:把列表zoo_animals中的tiger换成其它的动物

zoo_animals = ["pangolin", "cassowary", "sloth", "tiger"]
# Last night our zoo's sloth brutally attacked 
#the poor tiger and ate it whole.

# The ferocious sloth has been replaced by a friendly hyena.
zoo_animals[2] = "hyena"

# What shall fill the void left by our dear departed tiger?
# Your code here!
zoo_animals[3] = "dog"


 第四节

     1 介绍了list中添加一个item的方法append()

     2 比list_name.append(item),求列表list_name中有几项就是利用len(list_name)

     3 练习:在列表suitcase在增加三项,然后求出它的元素的个数

suitcase = [] 
suitcase.append("sunglasses")

# Your code here!
suitcase.append("a")
suitcase.append("b")
suitcase.append("c")

# Set this to the length of suitcase
list_length = len(suitcase)

print "There are %d items in the suitcase." % (list_length)
print suitcase


 第五节

     1 介绍了list列表怎样得到子列表list_name[a:b],将得到下标a开始到下标b之前的位置

     2 比如列表my_list = [1,2,3,4],那么my_list[1:3]得到的将是[2,3]

my_list = [0, 1, 2, 3]
my_slice = my_list[1:3]
print my_list
# Prints [0, 1, 2, 3]
print my_slice
# Prints [1, 2]

     3 如果我们默认第二个值,那么将会直接到末尾那个位置。如果默认第一个值,值是从头开始

my_list[:2]
# Grabs the first two items
my_list[3:]
# Grabs the fourth through last

     4 练习:把first列表设置为suitcase的前两项,把middle列表设置为suitcase的中间两项,把last列表设置为suitcase的后两项

suitcase = ["sunglasses", "hat", "passport", "laptop", "suit", "shoes"]

# The first two items
first = suitcase[0:2] 
# Third and fourth items
middle = suitcase[2:4]
# The last two items
last = suitcase[4:]


  第六节

     1 介绍了不仅列表可以得到子串,字符串也满足

     2 比如string[a:b]是得到从下标a开始到b之前的子串

     3 练习:把三个变量分别设置为对应的子串

animals = "catdogfrog"
# The first three characters of animals
cat = animals[:3]   
# The fourth through sixth characters
dog = animals[3:6]   
# From the seventh character to the end
frog = animals[6:] 


 第七节

     1 介绍了列表的两种方法index(item)和insert(index , item)

     2 index(item)方法是查找item在列表中的下标,使用方法list_name.index(item)

     3 insert(index,item)是在下标index处插入一个item,其余的后移,使用方法list_name.insert(index , item)

     4 练习:使用index()函数找到列表中的"duck",然后在当前位置插入"cobra"

                   如果我们使用print list_name,就是直接输出列表的所有元素

animals = ["aardvark", "badger", "duck", "emu", "fennec fox"]
# Use index() to find "duck"
duck_index = animals.index("duck")

# Your code here!
animals.insert(duck_index,"cobra")

# Observe what prints after the insert operation
print animals 

 第九节

     1 介绍我们可以使用for循环来遍历列表的每一个元素

     2 比如for variable in list_name:

                     statement

        这样我们可以枚举列表的每一个元素

     3 练习:打印列表的每一个元素的值*2

my_list = [1,9,3,8,5,7]

for number in my_list:
    # Your code here
    print 2*number


  第十节

     1 介绍了列表的另外一种方法sort(),可以对列表进行排序,默认是从小到打排序

     2 使用的方法是list_name.sort()

     3 列表中删除一个item的方法list_name.remove(item)  

beatles = ["john","paul","george","ringo","stuart"]
beatles.remove("stuart")
print beatles
>> ["john","paul","george","ringo"]

     4 练习:利用for循环把没一项的值的平方加入列表square_list,然后对square_list排序输出

start_list = [5, 3, 1, 2, 4]
square_list = []

# Your code here!
for numbers in start_list:
    square_list.append(numbers**2)
print square_list.sort()


 第十一节

     1 介绍了Python中的字典,字典的每一个item是一个键值对即key:value

     2 比如字典d = {'key1' : 1, 'key2' : 2, 'key3' : 3},有三个元素

     3 Python的字典和C++里面的map很像,我们可以使用d["key1"]来输出key1对应的value

     4 练习:打印出'Sloth'和'Burmese Python'对应的value

                   注意在脚本语言里面可以使用单引号也可以使用双引号来表示字符串

# Assigning a dictionary with three key-value pairs to residents:
residents = {'Puffin' : 104, 'Sloth' : 105, 'Burmese Python' : 106}

# Prints Puffin's room number
print residents['Puffin'] 

# Your code here!
print residents['Sloth']
print residents['Burmese Python']


 第十二节

     1 介绍了三点

        1 字典和列表一样可以是空的,比如d = {}就是一个空的字典

        2 字典里面添加一个键值对或者是改变已有key的value,使用这种方法 dict_name[key] = value
        3 我们也可以使用len(dict_name)求出字典的元素的个数

     2 练习:至少添加3个键值对到字典menu中

# Empty dictionary
menu = {} 

# Adding new key-value pair
menu['Chicken Alfredo'] = 14.50 
print menu['Chicken Alfredo']

# Your code here: Add some dish-price pairs to menu!
menu["a"] = 1
menu["b"] = 2
menu["c"] = 3

# print you code
print "There are " + str(len(menu)) + " items on the menu."
print menu


 第十三节

     1 介绍了我们可以删除字典中的键值对

     2 我们使用del dict_name[key],这样将删除键值为key的键值对

     3 练习:删除key为"Sloth"和"Bengal Tiger",并且设置key为"Rockhopper Penguin"的val和之前的不一样

# key - animal_name : value - location 
zoo_animals = { 'Unicorn' : 'Cotton Candy House',
'Sloth' : 'Rainforest Exhibit',
'Bengal Tiger' : 'Jungle House',
'Atlantic Puffin' : 'Arctic Exhibit',
'Rockhopper Penguin' : 'Arctic Exhibit'}

# A dictionary (or list) declaration may break across multiple lines
# Removing the 'Unicorn' entry. (Unicorns are incredibly expensive.)
del zoo_animals['Unicorn']

# Your code here!
del zoo_animals["Sloth"]
del zoo_animals["Bengal Tiger"]
zoo_animals["Rockhopper Penguin"] = "aa"

# print you code
print zoo_animals


 第十四节

     1 介绍了字典中一个key可以对应不止一个的value

     2 比如my_dict = {"hello":["h","e","l","l","o"]},那么key为"hello"对应的value有5个,我们可以使用my_dict["hello"][index]来取得下标为index的value,比如index为1的时候是"e"

     3 对于一个key对应多个value的话,我们应该要用list来保存这些value

     4 对于一个key对应多个value的话,我们还可以对这个key的val进行排序,比如my_dict["hello"].sort()

     4 练习

        1 在字典inventory中添加一个key为'pocket',值设置为列表["seashell" , "strange berry" , "lint"]

        2 对key'pocket'的value进行排序

        3 删除字典inventory中key为'backpack'的键值对

        4 把字典inventory中key为'gold'的value加一个50

# Assigned a new list to 'pouch' key
inventory = {'gold' : 500,
'pouch' : ['flint', 'twine', 'gemstone'], 
'backpack' : ['xylophone','dagger', 'bedroll','bread loaf']}

# Adding a key 'burlap bag' and assigning a list to it
inventory['burlap bag'] = ['apple', 'small ruby', 'three-toed sloth']

# Sorting the list found under the key 'pouch'
inventory['pouch'].sort() 
# Here the dictionary access expression takes the place of a list name 

# Your code here
inventory['pocket'] = ["seashell" , "strange berry" , "lint"]
inventory['pocket'].sort()
del inventory['backpack']
inventory['gold'] = [500 , 50]




目录
相关文章
|
2月前
|
Java Python
全网最适合入门的面向对象编程教程:50 Python函数方法与接口-接口和抽象基类
【9月更文挑战第18天】在 Python 中,虽无明确的 `interface` 关键字,但可通过约定实现类似功能。接口主要规定了需实现的方法,不提供具体实现。抽象基类(ABC)则通过 `@abstractmethod` 装饰器定义抽象方法,子类必须实现这些方法。使用抽象基类可使继承结构更清晰、规范,并确保子类遵循指定的方法实现。然而,其使用应根据实际需求决定,避免过度设计导致代码复杂。
|
2月前
|
Python
全网最适合入门的面向对象编程教程:Python函数方法与接口-函数与方法的区别和lamda匿名函数
【9月更文挑战第15天】在 Python 中,函数与方法有所区别:函数是独立的代码块,可通过函数名直接调用,不依赖特定类或对象;方法则是与类或对象关联的函数,通常在类内部定义并通过对象调用。Lambda 函数是一种简洁的匿名函数定义方式,常用于简单的操作或作为其他函数的参数。根据需求,可选择使用函数、方法或 lambda 函数来实现代码逻辑。
|
3月前
|
安全 Linux Python
Python强大的信号库-blinker 入门教程
Python强大的信号库-blinker 入门教程
|
3月前
|
Python
Python中的装饰器入门教程
【8月更文挑战第28天】在Python的世界里,装饰器是那些让代码更加简洁、功能更强大的神奇工具。它们就像是给函数穿上了一件华丽的外衣,让函数在执行前后拥有更多的可能性。本文将带你了解装饰器的概念、用法和如何自己动手编写一个装饰器。准备好了吗?让我们一起揭开装饰器的神秘面纱!
|
4月前
|
网络协议 关系型数据库 数据挖掘
python小白快速入门教程
Python是一种解释型、面向对象、动态数据类型的高级编程语言。
54 1
|
5月前
|
数据采集 Python
半小时速通Python爬虫!GitHub开源的Python爬虫入门教程
今天给小伙伴们带来了一篇详细介绍 Python 爬虫入门的教程,从实战出发,适合初学者。 小伙伴们只需在阅读过程紧跟文章思路,理清相应的实现代码,30 分钟即可学会编写简单的 Python 爬虫。
|
5月前
|
数据采集 Python
半小时速通Python爬虫!GitHub开源的Python爬虫入门教程
今天给小伙伴们带来了一篇详细介绍 Python 爬虫入门的教程,从实战出发,适合初学者。 小伙伴们只需在阅读过程紧跟文章思路,理清相应的实现代码,30 分钟即可学会编写简单的 Python 爬虫。
|
5月前
|
数据采集 机器学习/深度学习 运维
超全!GitHub星标6500的Python入门教程大全,太强了!
Python 类库(模块)极其丰富,这使得 Python 几乎无所不能,不管是传统的 Web 开发、PC 软件开发、Linux 运维,还是当下火热的机器学习、大数据分析、网络爬虫,Python 都能胜任。 今天给小伙伴们分享的这份Python入门教程大全是从gitee上扒下来的,这套教程不是教科书,不会玩弄概念,而是力求口语化和通俗化,让读者尽快入门。
|
5月前
|
数据采集 机器学习/深度学习 运维
超全!GitHub星标6500的Python入门教程大全,太强了!
Python 类库(模块)极其丰富,这使得 Python 几乎无所不能,不管是传统的 Web 开发、PC 软件开发、Linux 运维,还是当下火热的机器学习、大数据分析、网络爬虫,Python 都能胜任。 今天给小伙伴们分享的这份Python入门教程大全是从gitee上扒下来的,这套教程不是教科书,不会玩弄概念,而是力求口语化和通俗化,让读者尽快入门。
|
5月前
|
数据采集 搜索推荐 JavaScript
GitHub星标3500的Python爬虫实战入门教程,限时开源!
爬虫的全称为网络爬虫,简称爬虫,别名有网络机器人,网络蜘蛛等等。 网络爬虫是一种自动获取网页内容的程序,为搜索引擎提供了重要的数据支撑。搜索引擎通过网络爬虫技术,将互联网中丰富的网页信息保存到本地,形成镜像备份。我们熟悉的谷歌、百度本质上也可理解为一种爬虫。 如果形象地理解,爬虫就如同一只机器蜘蛛,它的基本操作就是模拟人的行为去各个网站抓取数据或返回数据。