06. enumerate()函数和推导式生成列表--操作每行增加行号

'''
开1,心就好,哈哈哈哈哈 #1
你可以知道吗,我不知道 #2
哈哈哈,1234567      #3
'''
#给文件e.txt加行号
# a = ["I love you!\n","开心就好\n","加油吧,少年\n"]
# b = enumerate(a)
# print(list(b)) #[(0, 'I love you!'), (1, '开心就好\n'), (2, '加油吧,少年\n')]
# print(a)
# c = [temp.rstrip()+" #"+str(index) for index,temp in enumerate(a)] #rstrip()去空行符
# print(c)
with open("e.txt","r",encoding="utf-8") as f:
    lines = f.readlines()
    lines = [temp.rstrip()+" #"+str(index)+"\n" for index,temp in enumerate(lines)] #推导式生成列表

with open("e.txt","w",encoding="utf-8") as f:
    f.writelines(lines)

输出:

开1,心就好,哈哈哈哈哈 #0
你可以知道吗,我不知道 #1
哈哈哈,1234567 #2

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 你可以这样做:在Python中,可以使用列表推导来查找列表中最大元素的所有位置,例如: lst = [1,2,3,4,5,6,7,8,9,10] max_val = max(lst) indices = [i for i, x in enumerate(lst) if x == max_val] print(indices) #[9] ### 回答2: 使用列表推导可以快速生成20个[1-100]之间的整数,并存放于列表中,代码如下: ```python import random # 随机生成20个[1-100]之间的整数,存放于列表中 my_list = [random.randint(1, 100) for _ in range(20)] # 使用列表推导查找列表中最大元素的所有位置 max_value = max(my_list) positions = [index for index, value in enumerate(my_list) if value == max_value] # 输出结果 print("生成列表是:", my_list) print("最大的元素是:", max_value) print("最大元素的位置是:", positions) ``` 在这个代码中,我们使用了random模块的randint函数生成20个[1-100]之间的整数,并使用列表推导将它们存放在my_list列表中。然后,使用max函数找到my_list中最大的元素,并使用enumerate函数获取它的索引和值。最后,再次使用列表推导,筛选出与最大元素值相等的元素的索引,最终得到最大元素的所有位置。可以运行这段代码,输出最大元素的所有位置。 ### 回答3: 可以通过以下代码来实现: ```python import random # 随机生成20个[1-100]之间的整数 nums = [random.randint(1, 100) for _ in range(20)] # 使用列表推导找到最大元素,并记录其所有位置 max_num = max(nums) max_indexes = [index for index, num in enumerate(nums) if num == max_num] print("生成的随机整数列表:", nums) print("最大元素:", max_num) print("最大元素的位置:", max_indexes) ``` 以上代码的思路是通过列表推导遍历nums列表中的元素,将与最大元素相等的元素的位置记录下来,并存放在max_indexes列表中。其中,`enumerate`函数用于同时遍历索引和元素,`max`函数可以找到nums列表中的最大元素。 输出结果类似如下: ``` 生成的随机整数列表: [45, 27, 72, 85, 91, 49, 95, 54, 56, 40, 6, 17, 83, 96, 89, 95, 33, 29, 61, 71] 最大元素: 96 最大元素的位置: [13] ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值