第3章 
学习目标:

列表是什么以及如何使用列表元素。列表让你能够在一个地方存储成组的信息,其中可以只包含几个元素,也可以包含数百万个元素。列表是新手可直接使用的最强大的Python功能之一,它融合了众多重要的编程概念。

3.1 列表是什么

列表由一系列按特定顺序排列的元素组成。你可以创建包含字母表中所有字母、数字0~9或
所有家庭成员姓名的列表;也可以将任何东西加入列表中,其中的元素之间可以没有任何关系。
鉴于列表通常包含多个元素,给列表指定一个表示复数的名称(如letters、digits或names)是
个不错的主意。

在Python中,用中括号 [] 表示列表,并用逗号来分隔其中的元素。

例如:

bicycles.py

bicycles = [ 'trek','cannondale','redline','specialired' ]
print(bicycles)
# 结果:
['trek', 'cannondale', 'redline', 'specialired']

3.1.1 访问列表元素

列表是有序集合,因此要访问列表的任何元素,只需将该元素的位置或索引告诉Python即可。
要访问列表元素,可指出列表的名称,再指出元素的索引,并将其放在方括号内。

# 例如,从列表bicycles中提取第一款自行车

bicycles = [ 'trek','cannondale','redline','specialired' ]

print(bicycles[0])
# 结果:
trek # 当然,或者 可使用方法title()让元素 'trek'的格式更整洁:
print(bicycles[0].title())
# 这个示例的输出与前一个示例相同,只是首字母T是大写的。

3.1.2 检索从0而不是1开始

在Python中,第一个列表元素的索引为0,而不是1。在大多数编程语言中都是如此,这与列
表操作的底层实现相关。

print(bicycles[1])

print(bicycles[3])

# 这些代码返回列表中得第二个和第四个元素:
cannondale
specialized # Python为访问最后一个列表元素提供了一种特殊语法。通过将索引指定为-1,可让Python返
回最后一个列表元素:
print(bicycles[-1]) 这些代码返回'specialized'。这种语法很有用,因为你经常需要在不知道列表长度的情况
下访问最后的元素。这种约定也适用于其他负数索引,例如,索引-2返回倒数第二个列表元素,
索引-3返回倒数第三个列表元素,以此类推。

3.1.3 使用列表中的各个值

可像使用其他变量一样使用列表中的各个值。例如,你可以使用拼接根据列表中的值来创建
消息。
下面来尝试从列表中提取第一款自行车,并使用这个值来创建一条消息:

message = "My first bicycle was a " + bicycles[0].title() + "."

print(message)

# 结果:
My first bicycle was a Trek.

动手试一试

请尝试编写一些简短的程序来完成下面的练习,以获得一些使用Python 列表的第
一手经验。你可能需要为每章的练习创建一个文件夹,以整洁有序的方式存储为完成各
章的练习而编写的程序。

3-1 姓名:将一些朋友的姓名存储在一个列表中,并将其命名为names。依次访问
该列表中的每个元素,从而将每个朋友的姓名都打印出来。

names = [ 'zhangsan','lisi','wangwu','zhaoliu']
print(names[0])
print(names[1])
print(names[-2])
print(names[-1]) # 结果:
zhangsan
lisi
wangwu
zhaoliu

3-2 问候语:继续使用练习3-1 中的列表,但不打印每个朋友的姓名,而为每人打
印一条消息。每条消息都包含相同的问候语,但抬头为相应朋友的姓名。

messname1 = "Hi " + names[0].title() + "."

messname2 = "Hi " + names[1].title() + "."

messname3 = "Hi " + names[2].title() + "."

messname4 = "Hi " + names[3].title() + "."

print(messname1)
print(messname2)
print(messname3)
print(messname4) # 结果:
Hi Zhangsan.
Hi Lisi.
Hi Wangwu.
Hi Zhaoliu.

3-3 自己的列表:想想你喜欢的通勤方式,如骑摩托车或开汽车,并创建一个包含
多种通勤方式的列表。根据该列表打印一系列有关这些通勤方式的宣言,如“I would like
to own a Honda motorcycle”。

bicycles = ['bike','electric car','motorbike','car']

mess1 = "I want to buy an " + bicycles[1].title() + "."

print(mess1)

# 结果:
I want to buy an Electric Car.

3.2 修改、添加和删除元素

创建的大多数列表都将是动态的,这意味着列表创建后,将随着程序的运行增删元素。例如:你创建一个游戏,要求玩家射杀从天而降的外星人;为此,可在开始时将一些外星人存储在
列表中,然后每当有外星人被射杀时,都将其从列表中删除,而每次有新的外星人出现在屏幕上
时,都将其添加到列表中。在整个游戏运行期间,外星人列表的长度将不断变化。

3.2.1 修改列表元素

修改列表元素的语法与访问列表元素的语法类似。要修改列表元素,可指定列表名和要修改
的元素的索引,再指定该元素的新值。

例如:

motorcycles.py
-----------------------------------------
motorcycles = ['honda','yamaha','suzuki']
print(motorcycles) motorcycles[0] = 'ducati'
print(motorcycles)
-----------------------------------------
['honda', 'yamaha', 'suzuki']
['ducati', 'yamaha', 'suzuki']

3.2.2 在列表中添加元素

你可能出于众多原因要在列表中添加新元素,例如,你可能希望游戏中出现新的外星人、添
加可视化数据或给网站添加新注册的用户。Python提供了多种在既有列表中添加新数据的方式。

  1. 在列表末尾添加元素

在列表中添加新元素时,最简单的方式是将元素附加列表末尾。给列表附加元素时,它将
添加到列表末尾。继续使用前一个示例中的列表,在其末尾添加新元素'ducati':

motorcycles.append('ducati')
print(motorcycles)
---------------------------------------
['ducati', 'yamaha', 'suzuki', 'ducat']
# 方法append()将元素'ducati'添加到了列表末尾 ,而不影响列表中的其他所有元素

方法append()让动态地创建列表易如反掌,例如,你可以先创建一个空列表,再使用一系列的
append()语句添加元素。下面来创建一个空列表,再在其中添加元素'honda'、'yamaha'和'suzuki':

motorcycles = []

motorcycles.append('honda')
motorcycles.append('yamaha')
motorcycles.append('suzuki') print(motorcycles)
-----------------------------
['honda', 'yamaha', 'suzuki']

这种创建列表的方式极其常见,因为经常要等程序运行后,你才知道用户要在程序中存储哪
些数据。为控制用户,可首先创建一个空列表,用于存储用户将要输入的值,然后将用户提供的
每个新值附加到列表中。

  1. 在列表中插入元素

使用方法insert()可在列表的任何位置添加新元素。为此,你需要指定新元素的索引和值。

motorcycles.insert(0,'ducati')
print(motorcycles)
---------------------------------------
['ducati', 'honda', 'yamaha', 'suzuki'] # 在这个示例中,值'ducati'被出入到列表开头;方法insert()在索引0处添加空间,并将值'ducati'存储到这个地方。这种操作将列表中既有的每个元素都右一个位置。

3.2.3 从列表中删除元素

你经常需要从列表中删除一个或多个元素。例如,玩家将空中的一个外星人射杀后,你很可
能要将其从存活的外星人列表中删除;当用户在你创建的Web应用中注销其账户时,你需要将该
用户从活跃用户列表中删除。你可以根据位置或值来删除列表中的元素。

  1. 使用del语句删除元素
# 知道要删除的元素所在列表中的位置,可使用del语句
motorcycles = ['ducati', 'honda', 'yamaha', 'suzuki']
del motorcycles[0]
print(motorcycles)
-----------------------------
['honda', 'yamaha', 'suzuki']
  1. 使用方法pop()删除元素

有时候,你要将元素从列表中删除,并接着使用它的值。例如,你可能需要获取刚被射杀的
外星人的x和y坐标,以便在相应的位置显示爆炸效果;在Web应用程序中,你可能要将用户从活
跃成员列表中删除,并将其加入到非活跃成员列表中。

方法pop()可删除列表末尾的元素,并让你能够接着使用它。术语弹出(pop)源自这样的类
比:列表就像一个栈,而删除列表末尾的元素相当于弹出栈顶元素。

motorcycles = ['honda','yamaha','suzuki']
print(motorcycles) popped_motorcycle = motorcycles.pop()
print(motorcycles)
print(popped_motorcycle)
------------------------------------------
['honda', 'yamaha', 'suzuki']
['honda', 'yamaha']
suzuki

方法pop()是怎么起作用的呢?假设列表中的摩托车是按购买时间存储的,就可使用方法
pop()打印一条消息,指出最后购买的是哪款摩托车:

motorcycles = ['honda', 'yamaha', 'suzuki']

last_owned = motorcycles.pop()
print("The last motorcycle I owned was a " + last_owned.title() + ".")
-----------------------------------------------------------------------
The last motorcycle I owned was a Suzuki.
  1. 弹出列表中任何位置处的元素

可以使用pop()来删除列表中任何位置的元素,只需在括号中指定要删除的元素
的索引即可。

first_owned = motorcycles.pop(0)
print("The last motorcycle I owned was a " + first_owned.title() + ".")
-------------------------------------------------------------------------
The last motorcycle I owned was a Honda.

如果你不确定该使用del语句还是pop()方法,下面是一个简单的判断标准:如果你要从列表
中删除一个元素,且不再以任何方式使用它,就使用del语句;如果你要在删除元素后还能继续
使用它,就使用方法pop()。

  1. 根据值删除元素

有时候,你不知道要从列表中删除的值所处的位置。如果你只知道要删除的元素的值,可使
用方法remove()。

# 假设我们要从列表motorcycles中删除值'ducati'
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
motorcycles = ['honda', 'yamaha', 'suzuki','ducati']
motorcycles.remove('ducati')
print(motorcycles)
-----------------------------------------------------
['honda', 'yamaha', 'suzuki']

使用remove()从列表中删除元素时,也可接着使用它的值。下面删除值'ducati',并打印一
条消息,指出要将其从列表中删除的原因:

motorcycles = ['honda', 'yamaha', 'suzuki','ducati']
too_expensive = 'ducati'
motorcycles.remove(too_expensive)
print(motorcycles)
print("\nA " + too_expensive.title() + " is too expensive for me.")
-------------------------------------------------------------------
['honda', 'yamaha', 'suzuki'] A Ducati is too expensive for me.

注意 方法remove()只删除第一个指定的值。如果要删除的值可能在列表中出现多次,就需要
使用循环来判断是否删除了所有这样的值。你将在第7章学习如何这样做。

动手试一试

下面的练习比第2 章的练习要复杂些,但让你有机会以前面介绍过的各种方式使用
列表。

3-4 嘉宾名单:如果你可以邀请任何人一起共进晚餐(无论是在世的还是故去的),
你会邀请哪些人?请创建一个列表,其中包含至少3 个你想邀请的人;然后,使用这个
列表打印消息,邀请这些人来与你共进晚餐。

dinner = []

dinner.append('zhangsan')
dinner.append('lisi')
dinner.append('wangwu')
print(dinner)
---------------------------------------
['zhangsan', 'lisi', 'wangwu']

3-5 修改嘉宾名单:你刚得知有位嘉宾无法赴约,因此需要另外邀请一位嘉宾。

dinner = []

dinner.append('zhangsan')
dinner.append('lisi')
dinner.append('wangwu')
print(dinner) dinner[1] = 'zhaoliu'
print(dinner)
--------------------------------
['zhangsan', 'lisi', 'wangwu']
['zhangsan', 'zhaoliu', 'wangwu']
  • 以完成练习3-4 时编写的程序为基础,在程序末尾添加一条print 语句,指出哪
    位嘉宾无法赴约。
dinner = []

dinner.append('zhangsan')
dinner.append('lisi')
dinner.append('wangwu')
print(dinner)
no_dinner = dinner.pop(1)
print(no_dinner + " 无法赴约")
---------------------------------
['zhangsan', 'lisi', 'wangwu']
lisi 无法赴约
  • 修改嘉宾名单,将无法赴约的嘉宾的姓名替换为新邀请的嘉宾的姓名。
dinner = []

dinner.append('zhangsan')
dinner.append('lisi')
dinner.append('wangwu')
print(dinner)
no_dinner = dinner.pop(1) dinner.insert(1,'zhaoliu')
print(dinner)
--------------------------------
['zhangsan', 'lisi', 'wangwu']
['zhangsan', 'zhaoliu', 'wangwu']
  • 再次打印一系列消息,向名单中的每位嘉宾发出邀请。
....上述代码省略
print(dinner[0])
print(dinner[1])
print(dinner[2])
--------------------
zhangsan
zhaoliu
wangwu

3-6 添加嘉宾:你刚找到了一个更大的餐桌,可容纳更多的嘉宾。请想想你还想邀
请哪三位嘉宾。

  • 以完成练习3-4 或练习3-5 时编写的程序为基础,在程序末尾添加一条print 语
    句,指出你找到了一个更大的餐桌。
print("找到了一个更大的餐桌")
------------------------------
找到了一个更大的餐桌
  • 使用insert()将一位新嘉宾添加到名单开头。
dinner.insert(0,'xiaoming')
print(dinner)
---------------------------------------------
['xiaoming', 'zhangsan', 'zhaoliu', 'wangwu']
  • 使用insert()将另一位新嘉宾添加到名单中间。
dinner.insert(2,'xiaofang')
print(dinner)
---------------------------------------------------------
['xiaoming', 'zhangsan', 'xiaofang', 'zhaoliu', 'wangwu']
  • 使用append()将最后一位新嘉宾添加到名单末尾。
dinner.append('xiaowu')
print(dinner)
-------------------------------------------------------------------
['xiaoming', 'zhangsan', 'xiaofang', 'zhaoliu', 'wangwu', 'xiaowu']
  • 打印一系列消息,向名单中的每位嘉宾发出邀请。
print("邀请: " + dinner[0])
print("邀请: " + dinner[1])
print("邀请: " + dinner[2])
print("邀请: " + dinner[3])
print("邀请: " + dinner[4])
print("邀请: " + dinner[5])
-----------------------------
邀请: xiaoming
邀请: zhangsan
邀请: xiaofang
邀请: zhaoliu
邀请: wangwu
邀请: xiaowu

3-7 缩减名单:你刚得知新购买的餐桌无法及时送达,因此只能邀请两位嘉宾。

  • 以完成练习3-6 时编写的程序为基础,在程序末尾添加一行代码,打印一条你只
    能邀请两位嘉宾共进晚餐的消息。
print("只能邀请两位嘉宾共进晚餐!")
  • 使用pop()不断地删除名单中的嘉宾,直到只有两位嘉宾为止。每次从名单中弹
    出一位嘉宾时,都打印一条消息,让该嘉宾知悉你很抱歉,无法邀请他来共进
    晚餐。
no_dinner = dinner.pop()
print("I'm sorry " + no_dinner)
no_dinner = dinner.pop()
print("I'm sorry " + no_dinner)
no_dinner = dinner.pop()
print("I'm sorry " + no_dinner)
no_dinner = dinner.pop()
print("I'm sorry " + no_dinner)
-------------------------------
I'm sorry xiaowu
I'm sorry wangwu
I'm sorry zhaoliu
I'm sorry xiaofang
  • 对于余下的两位嘉宾中的每一位,都打印一条消息,指出他依然在受邀人之列。
print(dinner)
------------------------
['xiaoming', 'zhangsan']
  • 使用del 将最后两位嘉宾从名单中删除,让名单变成空的。打印该名单,核实程
    序结束时名单确实是空的。
del dinner[0]
del dinner[0]
print(dinner)
-------------
[]

3.3 组织列表

在你创建的列表中,元素的排列顺序常常是无法预测的,因为你并非总能控制用户提供数据
的顺序。这虽然在大多数情况下都是不可避免的,但你经常需要以特定的顺序呈现信息。有时候,
你希望保留列表元素最初的排列顺序,而有时候又需要调整排列顺序。Python提供了很多组织列
表的方式,可根据具体情况选用。

3.3.1 使用方法sort()对列表进行永久性排序

Python方法sort()让你能够较为轻松地对列表进行排序。假设你有一个汽车列表,并要让其
中的汽车按字母顺序排列。为简化这项任务,我们假设该列表中的所有值都是小写的。

cars.py
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
cars = ['bmw','audi','toyota','subaru']
cars.sort()
print(cars)
-----------------------------------
['audi', 'bmw', 'subaru', 'toyota'] # 方法sort() 永久性地修改了列表元素的排列顺序。
# 现在,汽车是按字母顺序排列额,再也无法恢复到原来的排列顺序

你还可以按与字母顺序相反的顺序排列列表元素,为此,只需向sort()方法传递参数
reverse=True。下面的示例将汽车列表按与字母顺序相反的顺序排列:

cars =  ['bmw','audi','toyota','subaru']
cars.sort(reverse=True)
print(cars)
-----------------------------------
['toyota', 'subaru', 'bmw', 'audi']

3.3.2 使用函数sorted()对列表进行临时排序

要保留列表元素原来的排列顺序,同时以特定的顺序呈现它们,可使用函数sorted()。函数
sorted()让你能够按特定顺序显示列表元素,同时不影响它们在列表中的原始排列顺序。

下面尝试对汽车列表调用这个函数。

cars =  ['bmw','audi','toyota','subaru']
print("Here is the original list:")
print(cars) print("\nHere is the sorted list:")
print(sorted(cars)) print("\nHere is the original list again:")
print(cars)
--------------------------------------------
Here is the original list:
['bmw', 'audi', 'toyota', 'subaru'] Here is the sorted list:
['audi', 'bmw', 'subaru', 'toyota'] Here is the original list again:
['bmw', 'audi', 'toyota', 'subaru']

注意,调用函数sorted()后,列表元素的排列顺序并没有变。如果你要按与字母顺
序相反的顺序显示列表,也可向函数sorted()传递参数reverse=True。

注意 在并非所有的值都是小写时,按字母顺序排列列表要复杂些。决定排列顺序时,有多种
解读大写字母的方式,要指定准确的排列顺序,可能比我们这里所做的要复杂。然而,
大多数排序方式都基于本节介绍的知识。

3.3.3 倒着打印列表

要反转列表元素的排列顺序,可使用方法reverse()。假设汽车列表是按购买时间排列的,
可轻松地按相反的顺序排列其中的汽车:

cars =  ['bmw','audi','toyota','subaru']
print(cars) cars.reverse()
print(cars)
-----------------------------------------
['bmw', 'audi', 'toyota', 'subaru']
['subaru', 'toyota', 'audi', 'bmw']

注意,reverse()不是指按与字母顺序相反的顺序排列列表元素,而只是反转列表元素的排
列顺序。

方法reverse()永久性地修改列表元素的排列顺序,但可随时恢复到原来的排列顺序,为此
只需对列表再次调用reverse()即可。

3.3.4 确定列表的长度

使用函数len()可快速获悉列表的长度。在下面的示例中,列表包含4个元素,因此其长度为4:

>>> cars = ['bmw','audi','toyota','subaru']
>>> len(cars)
4

在你需要完成如下任务时,len()很有用:确定还有多少个外星人未被射杀,需要管理多少
项可视化数据,网站有多少注册用户等。

注意 Python计算列表元素数时从1开始,因此确定列表长度时,你应该不会遇到差一错误。

动手试一试

3-8 放眼世界:想出至少5 个你渴望去旅游的地方。

  • [ ] 将这些地方存储在一个列表中,并确保其中的元素不是按字母顺序排列的。
toponymy = ['thailand','Singapore','japanese','egypt','america']
  • 按原始排列顺序打印该列表。不要考虑输出是否整洁的问题,只管打印原始Python 列表。
print(toponymy)
----------------------------------------------------------
['thailand', 'Singapore', 'japanese', 'egypt', 'america']
  • [ ] 使用sorted()按字母顺序打印这个列表,同时不要修改它。
print(sorted(toponymy))
---------------------------------------------------------
['america', 'egypt', 'japanese', 'singapore', 'thailand']
  • [ ] 再次打印该列表,核实排列顺序未变。
print(toponymy)
---------------------------------------------------------
['thailand', 'singapore', 'japanese', 'egypt', 'america']
  • [ ] 使用sorted()按与字母顺序相反的顺序打印这个列表,同时不要修改它。
toponymy = ['thailand','japanese','singapore','egypt','america']
print(sorted(toponymy,reverse=True))
----------------------------------------------------------------
['thailand', 'singapore', 'japanese', 'egypt', 'america']
  • 再次打印该列表,核实排列顺序未变。
print(toponymy)
---------------------------------------------------------
['thailand', 'japanese', 'singapore', 'egypt', 'america']
  • 使用reverse()修改列表元素的排列顺序。打印该列表,核实排列顺序确实变了。
toponymy = ['thailand','japanese','singapore','egypt','america']

print("Original list: ")
print(toponymy)
toponymy.reverse()
print("\nModify the list: ")
print(toponymy)
---------------------------------------------------------
Original list:
['thailand', 'japanese', 'singapore', 'egypt', 'america'] Modify the list:
['america', 'egypt', 'singapore', 'japanese', 'thailand']
  • 使用reverse()再次修改列表元素的排列顺序。打印该列表,核实已恢复到原来的排列顺序。
toponymy.reverse()
print("\nModify the following list again: ")
print(toponymy)
-----------------------------------------------------------
Modify the following list again:
['thailand', 'japanese', 'singapore', 'egypt', 'america']
  • 使用sort()修改该列表,使其元素按字母顺序排列。打印该列表,核实排列顺序确实变了。

toponymy = ['thailand','japanese','singapore','egypt','america']
toponymy.sort()
print(toponymy)
---------------------------------------------------------
['america', 'egypt', 'japanese', 'singapore', 'thailand']
  • 使用sort()修改该列表,使其元素按与字母顺序相反的顺序排列。打印该列表,核实排列顺序确实变了。
toponymy = ['thailand','japanese','singapore','egypt','america']
toponymy.sort()
print(toponymy) toponymy.sort(reverse=True)
print(toponymy)
----------------------------------------------------------
['america', 'egypt', 'japanese', 'singapore', 'thailand']
['thailand', 'singapore', 'japanese', 'egypt', 'america']

3-9 晚餐嘉宾:在完成练习3-4~练习3-7时编写的程序之一中,使用len()打印一条消息,指出你邀请了多少位嘉宾来与你共进晚餐。

>>> cars = ['bmw','audi','toyota','subaru']
>>> len(cars)
4

3-10 尝试使用各个函数:想想可存储到列表中的东西,如山岳、河流、国家、城市、语言或你喜欢的任何东西。编写一个程序,在其中创建一个包含这些元素的列表,然后,对于本章介绍的每个函数,都至少使用一次来处理这个列表。

name = ['mount everest','yellow river','beijing','china']
print(name) print("\n临时排序: ")
print(sorted(name)) print("\n临时相反排序: ")
print(sorted(name,reverse=True)) print("\n按字母顺序相反排序: ")
name.sort(reverse=True)
print(name) print("\n按字母排序: ")
name.sort()
print(name) print("\n倒着打印: ")
name.reverse()
print(name) print("\n元素个数: ")
print(len(name)) print("\n元素个数: %d" % len(name))
----------------------------------------------------------
['mount everest', 'yellow river', 'beijing', 'china'] 临时排序:
['beijing', 'china', 'mount everest', 'yellow river'] 临时相反排序:
['yellow river', 'mount everest', 'china', 'beijing'] 按字母顺序相反排序:
['yellow river', 'mount everest', 'china', 'beijing'] 按字母排序:
['beijing', 'china', 'mount everest', 'yellow river'] 倒着打印:
['yellow river', 'mount everest', 'china', 'beijing'] 元素个数:
4 元素个数: 4

Python基础 列表介绍、使用的更多相关文章

  1. python基础——列表生成式

    python基础——列表生成式 列表生成式即List Comprehensions,是Python内置的非常简单却强大的可以用来创建list的生成式. 举个例子,要生成list [1, 2, 3, 4 ...

  2. python基础——列表推导式

    python基础--列表推导式 1 列表推导式定义 列表推导式能非常简洁的构造一个新列表:只用一条简洁的表达式即可对得到的元素进行转换变形 2 列表推导式语法 基本格式如下: [expr for va ...

  3. Python基础------列表,元组的调用方法

    Python基础------列表,元组的调用方法@@@ 一. 列表 Python中的列表和歌曲列表类似,也是由一系列的按特定顺序排列的元素组成的,在内容上,可以将整数,实数,字符串,列表,元组等任何类 ...

  4. Python基础-列表、元组、字典、字符串

    Python基础-列表.元组.字典.字符串   多维数组 nums1 = [1,2,3] #一维数组 nums2 = [1,2,3,[4,56]] #二维数组 nums3 = [1,2,3,4,['a ...

  5. Day1 - Python基础1 介绍、基本语法、流程控制

    Python之路,Day1 - Python基础1   本节内容 Python介绍 发展史 Python 2 or 3? 安装 Hello World程序 变量 用户输入 模块初识 .pyc是个什么鬼 ...

  6. [python] 基础工具介绍好文推荐

    Github上有个哥们写的,还不错,mark一下: https://github.com/lijin-THU/notes-python/blob/master/index.ipynb 相对全面的介绍了 ...

  7. 一起学Python:列表介绍

    列表介绍 想一想: 前面学习的字符串可以用来存储一串信息,那么想一想,怎样存储咱们班所有同学的名字呢? 定义100个变量,每个变量存放一个学生的姓名可行吗?有更好的办法吗? 答: 列表 <1&g ...

  8. python基础——列表

    Python列表脚本操作符 列表对 + 和 * 的操作符与字符串相似.+ 号用于组合列表,* 号用于重复列表. 如下所示: Python 表达式 结果 描述 len([1, 2, 3]) 3 长度 [ ...

  9. Python基础-列表推导式

    python中列表推导式有三种数据类型可用:列表,字典,集合 列表推导式书写形式: [表达式 for 变量 in 列表]    或者  [表达式 for 变量 in 列表 if 条件] 1,列表推导式 ...

随机推荐

  1. 微信授权、获取用户openid-纯前端实现——jsonp跨域访问返回json数据会报错的纯前端解决办法

    近来,倒霉的后台跟我说让我拿个openid做微信支付使用,寻思很简单,开始干活. 首先引导用户打开如下链接,只需要将appid修改为自己的就可以,redirect_url写你的重定向url https ...

  2. Linux下的磁盘分区和逻辑卷

    一.硬盘接口类型 硬盘的接口主要有IDE.SATA.SCSI .SAS和光纤通道等五种类型.其中IDE和SATA接口硬盘多用于家用产品中,也有部分应用于服务器,SATA是一种新生的硬盘接口类型,已经取 ...

  3. centos7 mysql安装

    一.系统环境 [root@localhost home]# cat /etc/redhat-release CentOS Linux release 7.2.1511 (Core) 二.mysql安装 ...

  4. maven中pom文件配置解决资源文件的编码问题

    <build> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId& ...

  5. 二十五、Hadoop学记笔记————Hive复习与深入

    Hive主要为了简化MapReduce流程,使非编程人员也能进行数据的梳理,即直接使用sql语句代替MapReduce程序 Hive建表的时候元数据(表明,字段信息等)存于关系型数据库中,数据存于HD ...

  6. C++的反思[转]

    最近两年 C++又有很多人出来追捧,并且追捧者充满了各种优越感,似乎不写 C++你就一辈子是低端程序员了,面对这种现象,要不要出来适时的黑一下 C++呢?呵呵呵. 咱们要有点娱乐精神,关于 C++的笑 ...

  7. InnoDB基本特性

    Ⅰ.double write 目的:保证数据写入的可靠性 小知识: 什么是partial write? 16k的page只写入了4k,6k,8k,12k就断掉了的情况 corrupt的page就是pa ...

  8. MySQL索引及查询优化总结 专题

    小结:db名与应用名相同,表名:业务名_此表的作用 ,表名表示内容,不体现数量,如果表示boolean概念,表名需要使用is_业务含义来表示,但POJO中不应该出现isXXX,因为不方便序列化,中间的 ...

  9. When to use next() and return next() in Node.js

    Some people always write return next() is to ensure that the execution stops after triggering the ca ...

  10. APNS导致消息丢失和发送效率原因

    http://blog.csdn.net/tlq1988/article/details/9612237 首先说明一下,本文只是介绍一些容易被开发者忽视,而导致性能低下问题.并不是介绍如何向苹果设备成 ...