列表,元组,字典,集合的区别是Python中最常见的一个问题。这个问题虽然很基础,但确实能反映出面试者的基础水平。
Python中的列表类似与JavaScript语言中的数组,
# 列表创建方式一:使用[]大括号创建列表
listA = ["a", "b", "c", "d"]
# 列表创建方式二:使用list()内置函数创建列表
# 使用内置函数将字符串转换为列表
listB = list("Python")
# 通过下表索引访问值
print(listA[0])
print(listA[-1])
print(listA[-2])
# 使用for循环遍历列表
for item in listA:
print(item)
# 使用while循环遍历列表
i = 0
while i < len(listB):
print(listB[i])
i += 1
方法名称 | 方法作用 |
append( ) | 列表最后边添加元素 |
insert( ) | 在列表的指定位置添加元素 |
pop( ) | 删除指定位置的元素 |
count( ) | 返回某个元组的数量 |
extend( ) | 链接多个列表 |
index( ) | 查找元素在列表中首次出现的位置 |
remove( ) | 移除指定元素 |
def listDef():
users = ['xujingliang', 'sunyanan', 'wuyou']
# append() 列表最后边添加元素
users.append("wutong")
print(users)
# insert() 在列表的指定位置添加元素
users.insert(1, "wutong")
users.insert(2, "wutong")
users.insert(3, "wutong")
print(users)
# pop() 删除末尾元素和指定索引位置的元素
users.pop() # 删除末尾的元素
users.pop(0) # 删除索引0处的元素
# count() 返回某个元素在列表里的数量
print(users.count("wutong"))
# extend() 合并两个列表
users.extend(["sunyanan", "sunyanan", "sunyanan"])
print(users)
# index() 返回元素在列表中首次出现位置的索引
index = users.index("sunyanan")
print(str(index))
# remove() 删除指定元素
users.remove("xujingliang")
print(users)
# sort() 对列表进行排序
# reverse() 反转列表顺序
# clear() 清除列表元素
# copy() 复制列表
?
元组和列表在结构上没有什么区别,唯一的差异在于元组是只读的,不能修改。元组用“()”表示
#定义一个元组
tuple1 = (1,2,'a',4,'5',6)
# 定义了一个元组之后就无法再添加或修改元组中的元素
print tuple1[2] # 'a' 元组的元素都有确定的顺序。元组的索引也是以0为基点的
print tuple1[-1] # '5' 负的索引从元组的尾部开始计数
print tuple1[1:3] # (2, 'a') 元组也可以进行切片操作。对元组切片可以得到(返回)新的元组,原元组不变
# 可以使用 in 运算符检查某元素是否存在于元组中。
print 1 in tuple1 # True
#使用for in 进行遍历元组
for item in tuple1:
print item
# 如果需要获取item的序号 可以使用下面的遍历方法:
for index in range(len(tuple1)): #range(len(tuple1))就是生成一个自然排序列表
print tuple1[index]
# 还可以使用内置的enumerate函数
for index, item in enumerate(tuple1):
print '%i, %s' % (index, item)
字典定义了键和值之间一对一的关系,但它们是以无序的方式储存的。 Python 中的 dictionary 像 Java 中的 Hashtable 类的实例。定义 Dictionary 使用一对大(花)括号” { } “,与JavaScript中JSON对象一样。
Dictionary 不只是用于存储字符串。Dictionary 的值可以是任意数据类型,包括字符串、整数、对象,甚至其它的 dictionary。
在单个 dictionary 里,dictionary 的值并不需要全都是同一数据类型,可以根据需要混用和匹配。
?
# 定义一个字典
dict1 = {'name' : 'yeoman', 'age' : 24, 'sex' : 'Male'}
dict1['name'] = 'yuanm' # 为一个已经存在的 dictionary key 赋值,将简单覆盖原有的值。
dict1['Age'] = 25 # 在 Python 中是区分大小写的 age和Age是完全不同的两个key
# 从字典中删除元素
del dict1['sex'] # del 允许您使用 key 从一个 dictionary 中删除独立的元素
dict1.clear() # clear 从一个 dictionary 中清除所有元素