【python】9个python进阶技巧(实用)

编程入门 行业动态 更新时间:2024-10-21 07:51:57

【python】9个python<a href=https://www.elefans.com/category/jswz/34/1769503.html style=进阶技巧(实用)"/>

【python】9个python进阶技巧(实用)

文章目录

  • 前言
    • 1、列表索引排序
    • 2、单引号双引号
    • 3、字典键值对转换
    • 4、统计列表元素个数
    • 5、列表字符串相互转换
    • 6、反转字符串
    • 7、字符串去重
    • 8、print 输出分隔符
    • 9、随机取元素

前言

本期干货满满,点赞收藏,以免下次找不到

1、列表索引排序

输出对应顺序的索引

a = [5, 7, 2, 4, 3]
index = list(range(len(a)))
index.sort(key=lambda i: a[i])  # 从大到小只需要添加 负号就行 (key=lambda i: -a[i])print("从小到大对应的索引:", index)
## 从小到大对应的索引: [2, 4, 3, 0, 1]   

2、单引号双引号

想打印字符串 “123” 但是 print 只输出 123

a = "123"print(a)
## 123

只需要灵活运用单引号双引号,在外层嵌套单引号就可以啦

a = '"123"'print(a)
## "123"

3、字典键值对转换

a = {"jack": 20, "jerry": 19, "babo": 24}
b = {value: key for key, value in a.items()}print(b)
## {20: 'jack', 19: 'jerry', 24: 'babo'}

4、统计列表元素个数

利用 colletions 库,经常会用到

from collections import Countera = [1, 1, 1, 2, 2, 3, 4, 5]print(Counter(a))
## Counter({1: 3, 2: 2, 3: 1, 4: 1, 5: 1})

当然字符串也可以用

from collections import Countera = "fasdfasdfwqgsdgjh"
print(Counter(a))
## Counter({'f': 3, 's': 3, 'd': 3, 'a': 2, 'g': 2, 'w': 1, 'q': 1, 'j': 1, 'h': 1

5、列表字符串相互转换

字符串转列表

a = "a,b,c"
b = a.split(",")
print(b)
## ['a', 'b', 'c']

列表转字符串

a = ['a', 'b', 'c']
b = ''.join(a)
print(b)
## abc

6、反转字符串

a = "123456789"
print(a[::-1])
## 987654321
b = [1, 2, 3, 4, 5]
print(b[::-1])
## [5, 4, 3, 2, 1]

判断字符串是否为回文字符串

a = 1234321
b = str(a)
if b == b[::-1]:print(True)
## True

7、字符串去重

利用集合的唯一性。

a = "asdfasdfasdfasd"
b = set(a)
print(b)
##{'s', 'f', 'a', 'd'}

判断元素是否有重复

a = 12344
b = None
if len(str(a)) == len(set(str(a))):b = True
else:b = False
print(b)
## False

8、print 输出分隔符

字符串可以利用乘法 不要傻傻的 print (“**************************************”)

for i in range(2):print("*" * 20)print("name:", "jack")print("age", 22)
## ********************
## name: jack
## age 22
## ********************
## name: jack
## age 22

9、随机取元素

每次随机取出一人,随机排序。每次运行结果都是随机的

import randoma = ["name1", "name2", "name3", "name4", "name5"]
while a:b = random.randint(0, len(a) - 1)print(a[b])del a[b]## name4
## name5
## name3
## name1
## name2

如果想要内定,就设定一个特定的种子,那顺序就是一定的。(种子默认随着时间改变而改变) 此时每次运行结果是一致的

import randomrandom.seed(1)a = ["name1", "name2", "name3", "name4", "name5"]
while a:b = random.randint(0, len(a) - 1)print(a[b])del a[b]## name2
## name1
## name4
## name3
## name5

更多推荐

【python】9个python进阶技巧(实用)

本文发布于:2023-11-15 01:55:27,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1591659.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:进阶   技巧   python

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!