python中序列、列表的使用
来源:互联网 发布:棕色牛津鞋搭配 知乎 编辑:程序博客网 时间:2024/06/01 08:20
#coding = utf-8
"""
"""
def test_index():
#字符串是由字节组成的序列
greeting = "Hello"
# 输出的是H
print("greeting[0] = %s"%(greeting[0]))
# 输出的是o
print("greeting[-1] = %s"%(greeting[-1]))
months = ["January", "February", "March", "April", "May", "June", "July", \
"August", "September", "October", "November", "December"]
endings = ['st', "nd", "rd"] + 17 * ['th'] + ['st', "nd", "rd"] + 7 * ['th'] + ["st"]
# raw_input在3.*的版本中不再存在
year = "2017" #input("Year:")
month = "10" #input("Month(1 - 12):")
day = "21" #input("Day(1 - 31):")
month_number = int(month)
day_number = int(day)
month_name = months[month_number - 1]
ordinal = day + endings[day_number - 1]
#输出类似于October 21st.2017
print(month_name + " " + ordinal + "." + year)
# 列表相关
def test_slice():
#"索引是从0开始。"
numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9]
print("numbers = %s"%(numbers))
#输出第3个到第6个元素(不含第6个), [4, 5, 6]
print("numbers[3:6] = %s"%(numbers[3:6]))
#倒数第3个到倒数第1个元素
print("numbers[-3:-1] = %s"%(numbers[-3:-1]))
#倒数第3个元素及之后的全部元素
print("numbers[-3:] = %s"%(numbers[-3:]))
#分片的时候,左边索引必须先于右边索引出现在序列中,否则得到的是空的序列, 如numbers[-3:0]得到[]
print("numbers[-3:0] = %s"%(numbers[-3:0]))
#默认分片时的步长为1,可以使用更大的步长,如numbers[0:10:2]指定步长为2
print("numbers[0:10:2] = %s"%(numbers[0:10:2]))
#numbers[::4]指定步长为4, 输出[1, 5, 9]
print("numbers[::4] = %s"%(numbers[::4]))
#序列相加,如:[1, 2, 3, 4] + [3, 4, 5, 6] = [1, 2, 3, 4, 3, 4, 5, 6]
print("[1, 2, 3, 4] + [3, 4, 5, 6] = [1, 2, 3, 4, 3, 4, 5, 6] = %s" \
%([1, 2, 3, 4] + [3, 4, 5, 6]))
#序列乘法,如:[1, 2]*3 = [1, 2, 1, 2, 1, 2]
print("[1, 2]*3 = %s"%([1, 2]*3))
#list函数,list('你好') = ['你', '好']
print("list('你好') = %s"%(list('你好')))
print("")
print("基本的列表操作")
names = ["Alice", "Beth", "张三", "李四", "王五"]
#改变第二个元素:names[1] = '奥巴马'
#然后列表的值会变为:['Alice', '奥巴马', '张三', '李四', '王五']
names[1] = '奥巴马'
print("names = %s"%(names))
names.append("新增的元素")
#['Alice', '奥巴马', '张三', '李四', '王五', '新增的元素']
print("names = %s"%(names))
#分片赋值,
names[3:] = ["二号", "三号"]
#得到:names = ['Alice', '奥巴马', '张三', '二号', '三号'], '新增的元素'被清除。
print("names = %s"%(names))
names[3:] = ["十二号", "十三号", "超出的元素"]
#得到:['Alice', '奥巴马', '张三', '十二号', '十三号', '超出的元素']
print("names = %s"%(names))
#由上面的操作可以知道,分片的赋值其实就是一个替换的过程
#即用新的序列替换旧的分片。
del names[5]
#删除第5个元素,得到:['Alice', '奥巴马', '张三', '十二号', '十三号']
print("names = %s"%(names))
names[4:5] = []
#删除第4个元素,得到:['Alice', '奥巴马', '张三', '十二号']
print("names = %s"%(names))
print("列表的方法:")
#append在列表的尾部增加新的元素
names.append("奥巴马")
# ['Alice', '奥巴马', '张三', '十二号', '奥巴马']
print("names = %s"%(names))
#count统计某一个元素在序列中出现的次数。
#如"奥巴马"出现的次数为2
print("names.count('奥巴马') = %d"%(names.count('奥巴马')))
#extend方法将一个序列增加到另外一个序列的尾部。
names.extend(["马克龙", "特朗普"])
#得到:['Alice', '奥巴马', '张三', '十二号', '奥巴马', '马克龙', '特朗普']
print("names = %s"%(names))
#注意extend方法和+加号的区别,+将创建一个新的列表,而extend是修改原有的列表。
#index方法,找出第一个匹配的索引的未知
#奥巴马的索引位置是1
print("names.idnex('奥巴马') = %d"%(names.index('奥巴马')))
#insert方法,将对象插入到列表中
#"马克龙老婆"放到第一个位置,['Alice', '马克龙老婆', '奥巴马', '张三', '十二号', '奥巴马', '马克龙', '特朗普']
names.insert(1, '马克龙老婆')
print("names = %s"%(names))
#pop方法,移除列表中的一个元素,默认是最后一个元素。
#第五个元素为"奥巴马"
print("names.pop(5) = %s"%(names.pop(5)))
#移除后的列表:['Alice', '马克龙老婆', '奥巴马', '张三', '十二号', '马克龙', '特朗普']
print("names = %s"%(names))
#remove方法,移除列表中第一个匹配项
names.append("奥巴马")
names.remove("奥巴马")
#删除奥巴马后的列表:['Alice', '马克龙老婆', '张三', '十二号', '马克龙', '特朗普', '奥巴马']
print("names = %s"%(names))
#reverse方法,将列表中的元素反序。
numbers = [4, 5, 6, 1, 3, 9]
numbers.reverse()
#反序后为:[9, 3, 1, 6, 5, 4]
print("numbers = %s"%(numbers))
#sort方法,在原位置对列表排序。
numbers.sort()
#排序后:[1, 3, 4, 5, 6, 9]
print("numbers = %s"%(numbers))
# 高级排序。
#根据key的长度排序
names.sort(key=len)
#排序后为:['张三', '十二号', '马克龙', '特朗普', '奥巴马', 'Alice', '马克龙老婆']
print("names = %s"%(names))
#反向:['马克龙老婆', '马克龙', '特朗普', '张三', '奥巴马', '十二号', 'Alice']
names.sort(reverse=True)
print("names = %s"%(names))
#元组
def test_tuple():
tuples = (1, 4, 6)
print("tuples = ", (tuples))
#tuple将列表转换为元组
tuples = tuple([3, 8, 10, 7, 6])
print("tuples = ", (tuples))
def main():
print("通用序列的操作")
print("*******************")
print("******索引操作******")
test_index()
print("******索引操作结束******")
print()
print("*******************")
print("******列表操作操作******")
test_slice()
print("******列表操作操作结束******")
print("*******************")
print("******元组操作操作******")
test_tuple()
print("******元组操作操作结束******")
if __name__ == '__main__':
main()
"""
"""
def test_index():
#字符串是由字节组成的序列
greeting = "Hello"
# 输出的是H
print("greeting[0] = %s"%(greeting[0]))
# 输出的是o
print("greeting[-1] = %s"%(greeting[-1]))
months = ["January", "February", "March", "April", "May", "June", "July", \
"August", "September", "October", "November", "December"]
endings = ['st', "nd", "rd"] + 17 * ['th'] + ['st', "nd", "rd"] + 7 * ['th'] + ["st"]
# raw_input在3.*的版本中不再存在
year = "2017" #input("Year:")
month = "10" #input("Month(1 - 12):")
day = "21" #input("Day(1 - 31):")
month_number = int(month)
day_number = int(day)
month_name = months[month_number - 1]
ordinal = day + endings[day_number - 1]
#输出类似于October 21st.2017
print(month_name + " " + ordinal + "." + year)
# 列表相关
def test_slice():
#"索引是从0开始。"
numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9]
print("numbers = %s"%(numbers))
#输出第3个到第6个元素(不含第6个), [4, 5, 6]
print("numbers[3:6] = %s"%(numbers[3:6]))
#倒数第3个到倒数第1个元素
print("numbers[-3:-1] = %s"%(numbers[-3:-1]))
#倒数第3个元素及之后的全部元素
print("numbers[-3:] = %s"%(numbers[-3:]))
#分片的时候,左边索引必须先于右边索引出现在序列中,否则得到的是空的序列, 如numbers[-3:0]得到[]
print("numbers[-3:0] = %s"%(numbers[-3:0]))
#默认分片时的步长为1,可以使用更大的步长,如numbers[0:10:2]指定步长为2
print("numbers[0:10:2] = %s"%(numbers[0:10:2]))
#numbers[::4]指定步长为4, 输出[1, 5, 9]
print("numbers[::4] = %s"%(numbers[::4]))
#序列相加,如:[1, 2, 3, 4] + [3, 4, 5, 6] = [1, 2, 3, 4, 3, 4, 5, 6]
print("[1, 2, 3, 4] + [3, 4, 5, 6] = [1, 2, 3, 4, 3, 4, 5, 6] = %s" \
%([1, 2, 3, 4] + [3, 4, 5, 6]))
#序列乘法,如:[1, 2]*3 = [1, 2, 1, 2, 1, 2]
print("[1, 2]*3 = %s"%([1, 2]*3))
#list函数,list('你好') = ['你', '好']
print("list('你好') = %s"%(list('你好')))
print("")
print("基本的列表操作")
names = ["Alice", "Beth", "张三", "李四", "王五"]
#改变第二个元素:names[1] = '奥巴马'
#然后列表的值会变为:['Alice', '奥巴马', '张三', '李四', '王五']
names[1] = '奥巴马'
print("names = %s"%(names))
names.append("新增的元素")
#['Alice', '奥巴马', '张三', '李四', '王五', '新增的元素']
print("names = %s"%(names))
#分片赋值,
names[3:] = ["二号", "三号"]
#得到:names = ['Alice', '奥巴马', '张三', '二号', '三号'], '新增的元素'被清除。
print("names = %s"%(names))
names[3:] = ["十二号", "十三号", "超出的元素"]
#得到:['Alice', '奥巴马', '张三', '十二号', '十三号', '超出的元素']
print("names = %s"%(names))
#由上面的操作可以知道,分片的赋值其实就是一个替换的过程
#即用新的序列替换旧的分片。
del names[5]
#删除第5个元素,得到:['Alice', '奥巴马', '张三', '十二号', '十三号']
print("names = %s"%(names))
names[4:5] = []
#删除第4个元素,得到:['Alice', '奥巴马', '张三', '十二号']
print("names = %s"%(names))
print("列表的方法:")
#append在列表的尾部增加新的元素
names.append("奥巴马")
# ['Alice', '奥巴马', '张三', '十二号', '奥巴马']
print("names = %s"%(names))
#count统计某一个元素在序列中出现的次数。
#如"奥巴马"出现的次数为2
print("names.count('奥巴马') = %d"%(names.count('奥巴马')))
#extend方法将一个序列增加到另外一个序列的尾部。
names.extend(["马克龙", "特朗普"])
#得到:['Alice', '奥巴马', '张三', '十二号', '奥巴马', '马克龙', '特朗普']
print("names = %s"%(names))
#注意extend方法和+加号的区别,+将创建一个新的列表,而extend是修改原有的列表。
#index方法,找出第一个匹配的索引的未知
#奥巴马的索引位置是1
print("names.idnex('奥巴马') = %d"%(names.index('奥巴马')))
#insert方法,将对象插入到列表中
#"马克龙老婆"放到第一个位置,['Alice', '马克龙老婆', '奥巴马', '张三', '十二号', '奥巴马', '马克龙', '特朗普']
names.insert(1, '马克龙老婆')
print("names = %s"%(names))
#pop方法,移除列表中的一个元素,默认是最后一个元素。
#第五个元素为"奥巴马"
print("names.pop(5) = %s"%(names.pop(5)))
#移除后的列表:['Alice', '马克龙老婆', '奥巴马', '张三', '十二号', '马克龙', '特朗普']
print("names = %s"%(names))
#remove方法,移除列表中第一个匹配项
names.append("奥巴马")
names.remove("奥巴马")
#删除奥巴马后的列表:['Alice', '马克龙老婆', '张三', '十二号', '马克龙', '特朗普', '奥巴马']
print("names = %s"%(names))
#reverse方法,将列表中的元素反序。
numbers = [4, 5, 6, 1, 3, 9]
numbers.reverse()
#反序后为:[9, 3, 1, 6, 5, 4]
print("numbers = %s"%(numbers))
#sort方法,在原位置对列表排序。
numbers.sort()
#排序后:[1, 3, 4, 5, 6, 9]
print("numbers = %s"%(numbers))
# 高级排序。
#根据key的长度排序
names.sort(key=len)
#排序后为:['张三', '十二号', '马克龙', '特朗普', '奥巴马', 'Alice', '马克龙老婆']
print("names = %s"%(names))
#反向:['马克龙老婆', '马克龙', '特朗普', '张三', '奥巴马', '十二号', 'Alice']
names.sort(reverse=True)
print("names = %s"%(names))
#元组
def test_tuple():
tuples = (1, 4, 6)
print("tuples = ", (tuples))
#tuple将列表转换为元组
tuples = tuple([3, 8, 10, 7, 6])
print("tuples = ", (tuples))
def main():
print("通用序列的操作")
print("*******************")
print("******索引操作******")
test_index()
print("******索引操作结束******")
print()
print("*******************")
print("******列表操作操作******")
test_slice()
print("******列表操作操作结束******")
print("*******************")
print("******元组操作操作******")
test_tuple()
print("******元组操作操作结束******")
if __name__ == '__main__':
main()
阅读全文
0 0
- python中序列、列表的使用
- python的序列之列表
- Python中列表的使用总结
- python中列表list的基本使用
- Python列表的使用
- Python列表序列及字典的操作
- Python的序列(1)-列表
- Python 序列之列表的操作方法
- python 序列:列表
- Python数据类型 序列-列表
- python求解给定一字符串列表判定每个字符串可以构成的所有序列中回文序列的数目
- Python程序设计——查找列表中连续递增序列的起始位置
- Python 使用nltk对序列元素(eg. 列表)的频谱计算小结
- python的简单学习、简单使用模块、列表、元组、字典、序列、引用、
- python语句中len与列表提取的配套使用
- 在Python中使用lambda高效操作列表的教程
- Python中列表与元组的使用
- 在Python中使用lambda高效操作列表的教程
- Qt之pro配置详解
- java最实用newFixedThreadPool线程池
- Android7.0中文文档(API)--- TabHost
- openstack-network-instances
- django中出现莫名其妙奇妙的错误,发现是python版本的问题
- python中序列、列表的使用
- Spark integration ElasticSearch
- caffe添加新层教程
- opencv在输出不同文件格式输出的时候文件空间的大小不一样
- cmake学习
- C#控制格式符
- eclipse关闭Updating Error Reporting Database
- PHPCMS V9两步实现修改后台管理登陆路径方法分享
- SSD:Single Shot MultiBox Detector 详解