列表

列表相关

print("====================列表生成式开始=======================")
# 生成1-99的之间所有奇数的列表
nums = range(1, 99, 2)
print(nums, type(nums))

print("====================列表生成式结束=======================")
print("====================列表推导式开始=======================")
# 1-99之间的所有奇数平方之后的列表
list = [ele ** 2 for ele in range(1, 99) if ele % 2 == 1]
print(list)

print("====================列表推导式结束=======================")
print("====================列表的添加操作开始=======================")
# 追加到末尾
list = [ele for ele in range(6)]
print(list)
list.append(6)
print(list)
# 在指定索引处新增
list.insert(2, 2)
print(list)
# extend在列表中扩展一个可迭代序列
list.extend([1, "121"])
print(list)
list = list * 2
print(list)
# +连接   extend 会把字符串拆开,插入到列表,+则只能连接另一个集合
list = list + ["haha"]
print(list)

print("====================列表的添加操作结束=======================")
print("====================列表的删除操作开始=======================")
# 删除指定元素
del list[-1]
print(list)
# 返回删除元素,参数默认删除尾部元素
re_ele = list.pop()
print(re_ele)
print(list)

# remove:移除指定元素
list.remove("121")
print(list)
list.remove(0)
print(list)
# 删除所有的2和3
new_list = [1, 2, 2, 3, 4, 2, 2, 5, 2]
print([ele for ele in new_list if ele not in [2, 3]])

####遍历删除引发的问题
for num in new_list:
    if num == 2:
        new_list.remove(2)

print(new_list.count(2))  # 移除以后为何还存在2呢?移除元素后,后面元素往前移,会漏掉遍历元素
print("====================列表的删除操作结束=======================")

print("====================修改集合开始=======================")
# 通过下标改变指定元素
up_list = [1, 2, 3, 4, 6, 6]
up_list[-2] = 5
print(up_list)

print("====================修改集合结束=======================")
print("====================查询集合开始=======================")
# 查找元素所在的位置,并移除
find_list = [ele for ele in range(1, 10) if ele % 2 == 0]
find_list.append("haha")
find_list.insert(1, "haha")

print(find_list)
# [2, 4, 6, 8, "haha"]
if "haha" in find_list:
    find_list.remove("haha")
print(find_list)

target_index = find_list.index("haha")
print(target_index)
# 切片操作
print(find_list[1:-1])
# 反转列表
print(find_list[::-1])

print("====================查询集合结束=======================")
print("====================遍历列表开始=======================")
# 获取集合元素以及索引 方式1
it_list = ["a", "a", "b", "a"]
current_index = 0
for ele in it_list:
    print(ele, it_list.index(ele, current_index))  # 此处有问题,会输出两次"a"的索引
    current_index += 1
# 获取集合元素以及索引 方式2  推荐:
for index in range(len(it_list)):
    print(index, it_list[index])

# 获取集合元素以及索引 方式3  枚举对象
for index, value in enumerate(it_list):
    print(index, value)

# 获取集合元素以及索引 方式4  迭代器
# 判定是否是可迭代对象
# 迭代器中的元素,只会在用到时才加载,在用到之前可以不存在,用完后可以被销毁
import collections

print(isinstance(it_list, collections.Iterable))
it = iter(it_list)
for ele in it:
    print(ele)

print("====================遍历列表结束=======================")
print("====================排序开始=======================")
# sorted 并不会改变原来的列表,而是生成一个新列表
# sort 会在改变原来的列表
list = sorted(it_list)
print(list)
print(it_list)
tuple_data = [("ysj", 18), ("lt", 19), ("zxj", 20)]


def getKey(ele):
    return ele[1]


print(sorted(tuple_data, reverse=True))
tuple_data.sort(reverse=True)
print(tuple_data)
print(sorted(tuple_data, key=getKey, reverse=True))

print("====================排序结束=======================")
print("====================乱序和反转开始=======================")
# 乱序 reversed内建函数 不会改变原列表,但是方法会改变原列表
import random

values = [1, 2, 3, 4, 5]
random.shuffle(values)
print(values)
# 反转
ret = reversed(values)
print(ret)
print(values.reverse(), values)

print("====================乱序和反转结束=======================")

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 213,928评论 6 493
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,192评论 3 387
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 159,468评论 0 349
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,186评论 1 286
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,295评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,374评论 1 292
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,403评论 3 412
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,186评论 0 269
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,610评论 1 306
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,906评论 2 328
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,075评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,755评论 4 337
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,393评论 3 320
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,079评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,313评论 1 267
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,934评论 2 365
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,963评论 2 351

推荐阅读更多精彩内容

  • 列表是 Lisp 的基本数据结构之一。在最早的 Lisp 方言里,列表是唯一的数据结构: “Lisp” 这个名字起...
    四月不见阅读 1,521评论 0 0
  • 1.认识列表(list): 1.什么是列表 是python中的容器类的数据类型,可以用来存储多个数据。可变的,有序...
    大黄蜂人工智能阅读 291评论 0 0
  • 1.认识列表 列表(list):1.什么是列表是python中的容器类的数据类型,可以用来存储多个数据。可变的,有...
    烟雨江畔丶阅读 238评论 0 0
  • 感谢社区中各位的大力支持,译者再次奉上一点点福利:阿里云产品券,享受所有官网优惠,并抽取幸运大奖:点击这里领取 你...
    HetfieldJoe阅读 736评论 0 2
  • 一、认识列表 1.什么是列表是python中的容器类的数据类型,可以用来存储多个数据。可变的,有序的。可变指的是列...
    龙神海王阅读 168评论 0 0